@bonlineza/luxity-lib 2.32.7 → 2.32.9

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/AddInterest.js CHANGED
@@ -433,7 +433,7 @@
433
433
  var Clothing = (function (props) {
434
434
  return /*#__PURE__*/React__default.createElement("svg", _extends({
435
435
  version: "1.1",
436
- id: "Layer_1",
436
+ id: "svg-clothing",
437
437
  xmlns: "http://www.w3.org/2000/svg",
438
438
  xmlnsXlink: "http://www.w3.org/1999/xlink",
439
439
  x: "0px",
@@ -444,7 +444,8 @@
444
444
  className: "st0",
445
445
  cx: "42.6",
446
446
  cy: "42.6",
447
- r: "42.6"
447
+ r: "42.6",
448
+ fill: "#fff"
448
449
  }), /*#__PURE__*/React__default.createElement("path", {
449
450
  d: "M69.4,58.9C69,56.7,68,55,66.2,53.6l-4.4-3.3c-4.4-3.3-8.8-6.5-13.2-9.8c-0.6-0.4-1.3-0.8-2.3-1.2l-0.1,0 c-0.6-0.2-0.6-0.2-0.7-1c0-0.6,0.2-0.9,0.7-1.1c3-1.5,4.6-4.7,4.2-8c-0.5-3.6-3.4-6.4-7-6.7c-3.5-0.4-6.9,1.8-8.1,5.2 c-0.5,1.5,0.1,3.1,1.6,3.6c1.5,0.6,3.1-0.1,3.8-1.6l0.1-0.2c0-0.1,0.1-0.2,0.1-0.3c0.4-0.9,1.4-1.3,2.3-1.1c1,0.2,1.7,1,1.7,2 c0,1.1-0.6,1.8-1.6,2.2c-2.1,0.7-3.3,2.4-3.3,4.6v0.5c0,0.5,0,1.1,0,1.7v0.1c0,0,0,0-0.1,0c-1,0.2-2,0.7-2.9,1.4L19,53.7 c-1.7,1.3-2.7,2.9-3.1,4.8c-0.2,1-0.2,2-0.2,3c0,0.4,0.3,1,0.7,1.2c0.4,0.2,1,0,1.3-0.1c0.6-0.3,1.1-0.7,1.6-1.1 c0.2-0.2,0.5-0.3,0.9-0.3h5.2c12.5,0,25.4,0,38,0h0c1.8,0,2.9,0.4,3.9,1.2c0.2,0.2,0.6,0.5,1,0.5h0c0.4,0,0.8-0.3,1.1-0.7l0.1-0.1 v-2.9L69.4,58.9z M42.2,36.3c0.1-0.9,0.6-1.5,1.6-1.8c2-0.6,3.2-2.2,3.3-4.1c0.1-2.2-1.4-4.1-3.5-4.6c-2.2-0.5-4.3,0.6-5.2,2.7 l0,0.1c0,0,0,0.1,0,0.1c-0.1,0.3-0.4,0.4-0.7,0.3c-0.1-0.1-0.3-0.1-0.2-0.6c0.5-1.5,1.7-2.7,3.3-3.3c1.6-0.6,3.3-0.4,4.7,0.5 c1.6,1,2.5,2.8,2.5,4.7c0,1.9-1.1,3.6-2.8,4.6C45.1,35,45,35,44.9,35.1l-0.2,0.1c-1.1,0.6-1.7,1.5-1.7,2.7l0,1h-0.9 c0-0.2,0-0.4,0-0.6C42.1,37.6,42.1,37,42.2,36.3z M47.3,45.3c-1.5-1-3.1-1.6-4.7-1.6c-1.6,0-3.2,0.5-4.6,1.5c-1.9,1.3-3.8,2.7-5.7,4 l-0.7,0.5c-0.3,0.2-0.6,0.6-0.6,0.9c0,0.3,0,0.6,0.2,0.9c0.4,0.5,1.1,0.6,1.7,0.2c0,0,0.1-0.1,0.2-0.1l1.7-1.2 c1.5-1.1,3-2.1,4.5-3.2c0.6-0.4,1.2-0.7,1.8-0.9c1.7-0.5,3.4-0.2,5,0.9c2.9,2.1,5.8,4.1,8.7,6.2l3.1,2.2l4.2,3.1H23.3l3.4-2.5l2-1.5 l0,0l1.1-0.8c0.1,0,0.1-0.1,0.2-0.1c0.6-0.5,0.7-1.2,0.3-1.7c-0.4-0.5-1.1-0.6-1.7-0.2c-0.4,0.2-0.7,0.5-1,0.7l-9.4,6.7 c0.1-1,0.5-1.9,1.1-2.7c0.3-0.4,0.7-0.8,1.1-1.1c4-3,8-5.9,12-8.9l5.7-4.2c1.1-0.8,2.2-1.2,3.5-1.2h0.7c0.7,0,1.5,0,2.2,0.1 c0.8,0.1,1.6,0.4,2.5,1l17.8,13.1c1.3,0.9,2,2.2,2.2,3.7L47.3,45.3z"
450
451
  }), /*#__PURE__*/React__default.createElement("path", {
@@ -7802,7 +7802,7 @@
7802
7802
  var Clothing = (function (props) {
7803
7803
  return /*#__PURE__*/React__default.createElement("svg", _extends({
7804
7804
  version: "1.1",
7805
- id: "Layer_1",
7805
+ id: "svg-clothing",
7806
7806
  xmlns: "http://www.w3.org/2000/svg",
7807
7807
  xmlnsXlink: "http://www.w3.org/1999/xlink",
7808
7808
  x: "0px",
@@ -7813,7 +7813,8 @@
7813
7813
  className: "st0",
7814
7814
  cx: "42.6",
7815
7815
  cy: "42.6",
7816
- r: "42.6"
7816
+ r: "42.6",
7817
+ fill: "#fff"
7817
7818
  }), /*#__PURE__*/React__default.createElement("path", {
7818
7819
  d: "M69.4,58.9C69,56.7,68,55,66.2,53.6l-4.4-3.3c-4.4-3.3-8.8-6.5-13.2-9.8c-0.6-0.4-1.3-0.8-2.3-1.2l-0.1,0 c-0.6-0.2-0.6-0.2-0.7-1c0-0.6,0.2-0.9,0.7-1.1c3-1.5,4.6-4.7,4.2-8c-0.5-3.6-3.4-6.4-7-6.7c-3.5-0.4-6.9,1.8-8.1,5.2 c-0.5,1.5,0.1,3.1,1.6,3.6c1.5,0.6,3.1-0.1,3.8-1.6l0.1-0.2c0-0.1,0.1-0.2,0.1-0.3c0.4-0.9,1.4-1.3,2.3-1.1c1,0.2,1.7,1,1.7,2 c0,1.1-0.6,1.8-1.6,2.2c-2.1,0.7-3.3,2.4-3.3,4.6v0.5c0,0.5,0,1.1,0,1.7v0.1c0,0,0,0-0.1,0c-1,0.2-2,0.7-2.9,1.4L19,53.7 c-1.7,1.3-2.7,2.9-3.1,4.8c-0.2,1-0.2,2-0.2,3c0,0.4,0.3,1,0.7,1.2c0.4,0.2,1,0,1.3-0.1c0.6-0.3,1.1-0.7,1.6-1.1 c0.2-0.2,0.5-0.3,0.9-0.3h5.2c12.5,0,25.4,0,38,0h0c1.8,0,2.9,0.4,3.9,1.2c0.2,0.2,0.6,0.5,1,0.5h0c0.4,0,0.8-0.3,1.1-0.7l0.1-0.1 v-2.9L69.4,58.9z M42.2,36.3c0.1-0.9,0.6-1.5,1.6-1.8c2-0.6,3.2-2.2,3.3-4.1c0.1-2.2-1.4-4.1-3.5-4.6c-2.2-0.5-4.3,0.6-5.2,2.7 l0,0.1c0,0,0,0.1,0,0.1c-0.1,0.3-0.4,0.4-0.7,0.3c-0.1-0.1-0.3-0.1-0.2-0.6c0.5-1.5,1.7-2.7,3.3-3.3c1.6-0.6,3.3-0.4,4.7,0.5 c1.6,1,2.5,2.8,2.5,4.7c0,1.9-1.1,3.6-2.8,4.6C45.1,35,45,35,44.9,35.1l-0.2,0.1c-1.1,0.6-1.7,1.5-1.7,2.7l0,1h-0.9 c0-0.2,0-0.4,0-0.6C42.1,37.6,42.1,37,42.2,36.3z M47.3,45.3c-1.5-1-3.1-1.6-4.7-1.6c-1.6,0-3.2,0.5-4.6,1.5c-1.9,1.3-3.8,2.7-5.7,4 l-0.7,0.5c-0.3,0.2-0.6,0.6-0.6,0.9c0,0.3,0,0.6,0.2,0.9c0.4,0.5,1.1,0.6,1.7,0.2c0,0,0.1-0.1,0.2-0.1l1.7-1.2 c1.5-1.1,3-2.1,4.5-3.2c0.6-0.4,1.2-0.7,1.8-0.9c1.7-0.5,3.4-0.2,5,0.9c2.9,2.1,5.8,4.1,8.7,6.2l3.1,2.2l4.2,3.1H23.3l3.4-2.5l2-1.5 l0,0l1.1-0.8c0.1,0,0.1-0.1,0.2-0.1c0.6-0.5,0.7-1.2,0.3-1.7c-0.4-0.5-1.1-0.6-1.7-0.2c-0.4,0.2-0.7,0.5-1,0.7l-9.4,6.7 c0.1-1,0.5-1.9,1.1-2.7c0.3-0.4,0.7-0.8,1.1-1.1c4-3,8-5.9,12-8.9l5.7-4.2c1.1-0.8,2.2-1.2,3.5-1.2h0.7c0.7,0,1.5,0,2.2,0.1 c0.8,0.1,1.6,0.4,2.5,1l17.8,13.1c1.3,0.9,2,2.2,2.2,3.7L47.3,45.3z"
7819
7820
  }), /*#__PURE__*/React__default.createElement("path", {
@@ -167,7 +167,7 @@
167
167
  var Clothing = (function (props) {
168
168
  return /*#__PURE__*/React__default.createElement("svg", _extends({
169
169
  version: "1.1",
170
- id: "Layer_1",
170
+ id: "svg-clothing",
171
171
  xmlns: "http://www.w3.org/2000/svg",
172
172
  xmlnsXlink: "http://www.w3.org/1999/xlink",
173
173
  x: "0px",
@@ -178,7 +178,8 @@
178
178
  className: "st0",
179
179
  cx: "42.6",
180
180
  cy: "42.6",
181
- r: "42.6"
181
+ r: "42.6",
182
+ fill: "#fff"
182
183
  }), /*#__PURE__*/React__default.createElement("path", {
183
184
  d: "M69.4,58.9C69,56.7,68,55,66.2,53.6l-4.4-3.3c-4.4-3.3-8.8-6.5-13.2-9.8c-0.6-0.4-1.3-0.8-2.3-1.2l-0.1,0 c-0.6-0.2-0.6-0.2-0.7-1c0-0.6,0.2-0.9,0.7-1.1c3-1.5,4.6-4.7,4.2-8c-0.5-3.6-3.4-6.4-7-6.7c-3.5-0.4-6.9,1.8-8.1,5.2 c-0.5,1.5,0.1,3.1,1.6,3.6c1.5,0.6,3.1-0.1,3.8-1.6l0.1-0.2c0-0.1,0.1-0.2,0.1-0.3c0.4-0.9,1.4-1.3,2.3-1.1c1,0.2,1.7,1,1.7,2 c0,1.1-0.6,1.8-1.6,2.2c-2.1,0.7-3.3,2.4-3.3,4.6v0.5c0,0.5,0,1.1,0,1.7v0.1c0,0,0,0-0.1,0c-1,0.2-2,0.7-2.9,1.4L19,53.7 c-1.7,1.3-2.7,2.9-3.1,4.8c-0.2,1-0.2,2-0.2,3c0,0.4,0.3,1,0.7,1.2c0.4,0.2,1,0,1.3-0.1c0.6-0.3,1.1-0.7,1.6-1.1 c0.2-0.2,0.5-0.3,0.9-0.3h5.2c12.5,0,25.4,0,38,0h0c1.8,0,2.9,0.4,3.9,1.2c0.2,0.2,0.6,0.5,1,0.5h0c0.4,0,0.8-0.3,1.1-0.7l0.1-0.1 v-2.9L69.4,58.9z M42.2,36.3c0.1-0.9,0.6-1.5,1.6-1.8c2-0.6,3.2-2.2,3.3-4.1c0.1-2.2-1.4-4.1-3.5-4.6c-2.2-0.5-4.3,0.6-5.2,2.7 l0,0.1c0,0,0,0.1,0,0.1c-0.1,0.3-0.4,0.4-0.7,0.3c-0.1-0.1-0.3-0.1-0.2-0.6c0.5-1.5,1.7-2.7,3.3-3.3c1.6-0.6,3.3-0.4,4.7,0.5 c1.6,1,2.5,2.8,2.5,4.7c0,1.9-1.1,3.6-2.8,4.6C45.1,35,45,35,44.9,35.1l-0.2,0.1c-1.1,0.6-1.7,1.5-1.7,2.7l0,1h-0.9 c0-0.2,0-0.4,0-0.6C42.1,37.6,42.1,37,42.2,36.3z M47.3,45.3c-1.5-1-3.1-1.6-4.7-1.6c-1.6,0-3.2,0.5-4.6,1.5c-1.9,1.3-3.8,2.7-5.7,4 l-0.7,0.5c-0.3,0.2-0.6,0.6-0.6,0.9c0,0.3,0,0.6,0.2,0.9c0.4,0.5,1.1,0.6,1.7,0.2c0,0,0.1-0.1,0.2-0.1l1.7-1.2 c1.5-1.1,3-2.1,4.5-3.2c0.6-0.4,1.2-0.7,1.8-0.9c1.7-0.5,3.4-0.2,5,0.9c2.9,2.1,5.8,4.1,8.7,6.2l3.1,2.2l4.2,3.1H23.3l3.4-2.5l2-1.5 l0,0l1.1-0.8c0.1,0,0.1-0.1,0.2-0.1c0.6-0.5,0.7-1.2,0.3-1.7c-0.4-0.5-1.1-0.6-1.7-0.2c-0.4,0.2-0.7,0.5-1,0.7l-9.4,6.7 c0.1-1,0.5-1.9,1.1-2.7c0.3-0.4,0.7-0.8,1.1-1.1c4-3,8-5.9,12-8.9l5.7-4.2c1.1-0.8,2.2-1.2,3.5-1.2h0.7c0.7,0,1.5,0,2.2,0.1 c0.8,0.1,1.6,0.4,2.5,1l17.8,13.1c1.3,0.9,2,2.2,2.2,3.7L47.3,45.3z"
184
185
  }), /*#__PURE__*/React__default.createElement("path", {
package/Interests.js CHANGED
@@ -7408,7 +7408,7 @@
7408
7408
  var Clothing = (function (props) {
7409
7409
  return /*#__PURE__*/React__default.createElement("svg", _extends({
7410
7410
  version: "1.1",
7411
- id: "Layer_1",
7411
+ id: "svg-clothing",
7412
7412
  xmlns: "http://www.w3.org/2000/svg",
7413
7413
  xmlnsXlink: "http://www.w3.org/1999/xlink",
7414
7414
  x: "0px",
@@ -7419,7 +7419,8 @@
7419
7419
  className: "st0",
7420
7420
  cx: "42.6",
7421
7421
  cy: "42.6",
7422
- r: "42.6"
7422
+ r: "42.6",
7423
+ fill: "#fff"
7423
7424
  }), /*#__PURE__*/React__default.createElement("path", {
7424
7425
  d: "M69.4,58.9C69,56.7,68,55,66.2,53.6l-4.4-3.3c-4.4-3.3-8.8-6.5-13.2-9.8c-0.6-0.4-1.3-0.8-2.3-1.2l-0.1,0 c-0.6-0.2-0.6-0.2-0.7-1c0-0.6,0.2-0.9,0.7-1.1c3-1.5,4.6-4.7,4.2-8c-0.5-3.6-3.4-6.4-7-6.7c-3.5-0.4-6.9,1.8-8.1,5.2 c-0.5,1.5,0.1,3.1,1.6,3.6c1.5,0.6,3.1-0.1,3.8-1.6l0.1-0.2c0-0.1,0.1-0.2,0.1-0.3c0.4-0.9,1.4-1.3,2.3-1.1c1,0.2,1.7,1,1.7,2 c0,1.1-0.6,1.8-1.6,2.2c-2.1,0.7-3.3,2.4-3.3,4.6v0.5c0,0.5,0,1.1,0,1.7v0.1c0,0,0,0-0.1,0c-1,0.2-2,0.7-2.9,1.4L19,53.7 c-1.7,1.3-2.7,2.9-3.1,4.8c-0.2,1-0.2,2-0.2,3c0,0.4,0.3,1,0.7,1.2c0.4,0.2,1,0,1.3-0.1c0.6-0.3,1.1-0.7,1.6-1.1 c0.2-0.2,0.5-0.3,0.9-0.3h5.2c12.5,0,25.4,0,38,0h0c1.8,0,2.9,0.4,3.9,1.2c0.2,0.2,0.6,0.5,1,0.5h0c0.4,0,0.8-0.3,1.1-0.7l0.1-0.1 v-2.9L69.4,58.9z M42.2,36.3c0.1-0.9,0.6-1.5,1.6-1.8c2-0.6,3.2-2.2,3.3-4.1c0.1-2.2-1.4-4.1-3.5-4.6c-2.2-0.5-4.3,0.6-5.2,2.7 l0,0.1c0,0,0,0.1,0,0.1c-0.1,0.3-0.4,0.4-0.7,0.3c-0.1-0.1-0.3-0.1-0.2-0.6c0.5-1.5,1.7-2.7,3.3-3.3c1.6-0.6,3.3-0.4,4.7,0.5 c1.6,1,2.5,2.8,2.5,4.7c0,1.9-1.1,3.6-2.8,4.6C45.1,35,45,35,44.9,35.1l-0.2,0.1c-1.1,0.6-1.7,1.5-1.7,2.7l0,1h-0.9 c0-0.2,0-0.4,0-0.6C42.1,37.6,42.1,37,42.2,36.3z M47.3,45.3c-1.5-1-3.1-1.6-4.7-1.6c-1.6,0-3.2,0.5-4.6,1.5c-1.9,1.3-3.8,2.7-5.7,4 l-0.7,0.5c-0.3,0.2-0.6,0.6-0.6,0.9c0,0.3,0,0.6,0.2,0.9c0.4,0.5,1.1,0.6,1.7,0.2c0,0,0.1-0.1,0.2-0.1l1.7-1.2 c1.5-1.1,3-2.1,4.5-3.2c0.6-0.4,1.2-0.7,1.8-0.9c1.7-0.5,3.4-0.2,5,0.9c2.9,2.1,5.8,4.1,8.7,6.2l3.1,2.2l4.2,3.1H23.3l3.4-2.5l2-1.5 l0,0l1.1-0.8c0.1,0,0.1-0.1,0.2-0.1c0.6-0.5,0.7-1.2,0.3-1.7c-0.4-0.5-1.1-0.6-1.7-0.2c-0.4,0.2-0.7,0.5-1,0.7l-9.4,6.7 c0.1-1,0.5-1.9,1.1-2.7c0.3-0.4,0.7-0.8,1.1-1.1c4-3,8-5.9,12-8.9l5.7-4.2c1.1-0.8,2.2-1.2,3.5-1.2h0.7c0.7,0,1.5,0,2.2,0.1 c0.8,0.1,1.6,0.4,2.5,1l17.8,13.1c1.3,0.9,2,2.2,2.2,3.7L47.3,45.3z"
7425
7426
  }), /*#__PURE__*/React__default.createElement("path", {
@@ -107,6 +107,133 @@
107
107
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
108
108
  }
109
109
 
110
+ var cssUnit = {
111
+ cm: true,
112
+ mm: true,
113
+ in: true,
114
+ px: true,
115
+ pt: true,
116
+ pc: true,
117
+ em: true,
118
+ ex: true,
119
+ ch: true,
120
+ rem: true,
121
+ vw: true,
122
+ vh: true,
123
+ vmin: true,
124
+ vmax: true,
125
+ "%": true,
126
+ };
127
+ /**
128
+ * If size is a number, append px to the value as default unit.
129
+ * If size is a string, validate against list of valid units.
130
+ * If unit is valid, return size as is.
131
+ * If unit is invalid, console warn issue, replace with px as the unit.
132
+ *
133
+ * @param {(number | string)} size
134
+ * @return {LengthObject} LengthObject
135
+ */
136
+ function parseLengthAndUnit(size) {
137
+ if (typeof size === "number") {
138
+ return {
139
+ value: size,
140
+ unit: "px",
141
+ };
142
+ }
143
+ var value;
144
+ var valueString = (size.match(/^[0-9.]*/) || "").toString();
145
+ if (valueString.includes(".")) {
146
+ value = parseFloat(valueString);
147
+ }
148
+ else {
149
+ value = parseInt(valueString, 10);
150
+ }
151
+ var unit = (size.match(/[^0-9]*$/) || "").toString();
152
+ if (cssUnit[unit]) {
153
+ return {
154
+ value: value,
155
+ unit: unit,
156
+ };
157
+ }
158
+ console.warn("React Spinners: ".concat(size, " is not a valid css value. Defaulting to ").concat(value, "px."));
159
+ return {
160
+ value: value,
161
+ unit: "px",
162
+ };
163
+ }
164
+ /**
165
+ * Take value as an input and return valid css value
166
+ *
167
+ * @param {(number | string)} value
168
+ * @return {string} valid css value
169
+ */
170
+ function cssValue(value) {
171
+ var lengthWithunit = parseLengthAndUnit(value);
172
+ return "".concat(lengthWithunit.value).concat(lengthWithunit.unit);
173
+ }
174
+
175
+ var createAnimation = function (loaderName, frames, suffix) {
176
+ var animationName = "react-spinners-".concat(loaderName, "-").concat(suffix);
177
+ if (typeof window == "undefined" || !window.document) {
178
+ return animationName;
179
+ }
180
+ var styleEl = document.createElement("style");
181
+ document.head.appendChild(styleEl);
182
+ var styleSheet = styleEl.sheet;
183
+ var keyFrames = "\n @keyframes ".concat(animationName, " {\n ").concat(frames, "\n }\n ");
184
+ if (styleSheet) {
185
+ styleSheet.insertRule(keyFrames, 0);
186
+ }
187
+ return animationName;
188
+ };
189
+
190
+ var __assign = (undefined && undefined.__assign) || function () {
191
+ __assign = Object.assign || function(t) {
192
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
193
+ s = arguments[i];
194
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
195
+ t[p] = s[p];
196
+ }
197
+ return t;
198
+ };
199
+ return __assign.apply(this, arguments);
200
+ };
201
+ var __rest = (undefined && undefined.__rest) || function (s, e) {
202
+ var t = {};
203
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
204
+ t[p] = s[p];
205
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
206
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
207
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
208
+ t[p[i]] = s[p[i]];
209
+ }
210
+ return t;
211
+ };
212
+ var beat = createAnimation("BeatLoader", "50% {transform: scale(0.75);opacity: 0.2} 100% {transform: scale(1);opacity: 1}", "beat");
213
+ function BeatLoader(_a) {
214
+ var _b = _a.loading, loading = _b === void 0 ? true : _b, _c = _a.color, color = _c === void 0 ? "#000000" : _c, _d = _a.speedMultiplier, speedMultiplier = _d === void 0 ? 1 : _d, _e = _a.cssOverride, cssOverride = _e === void 0 ? {} : _e, _f = _a.size, size = _f === void 0 ? 15 : _f, _g = _a.margin, margin = _g === void 0 ? 2 : _g, additionalprops = __rest(_a, ["loading", "color", "speedMultiplier", "cssOverride", "size", "margin"]);
215
+ var wrapper = __assign({ display: "inherit" }, cssOverride);
216
+ var style = function (i) {
217
+ return {
218
+ display: "inline-block",
219
+ backgroundColor: color,
220
+ width: cssValue(size),
221
+ height: cssValue(size),
222
+ margin: cssValue(margin),
223
+ borderRadius: "100%",
224
+ animation: "".concat(beat, " ").concat(0.7 / speedMultiplier, "s ").concat(i % 2 ? "0s" : "".concat(0.35 / speedMultiplier, "s"), " infinite linear"),
225
+ animationFillMode: "both",
226
+ };
227
+ };
228
+ if (!loading) {
229
+ return null;
230
+ }
231
+ return (React.createElement("span", __assign({ style: wrapper }, additionalprops),
232
+ React.createElement("span", { style: style(1) }),
233
+ React.createElement("span", { style: style(2) }),
234
+ React.createElement("span", { style: style(3) })));
235
+ }
236
+
110
237
  var getBrands = function getBrands() {
111
238
  return {
112
239
  query: "{\n latest_arrivals: luxity_brands(has_products: true, limit: 1000, page: 1, sort_by: \"name|asc\") {data {id name slug}}\n bags: luxity_brands(has_products: true, limit: 1000, page: 1, category_type: BAGS, sort_by: \"name|asc\") {data {id name slug}}\n shoes: luxity_brands(has_products: true, limit: 1000, page: 1, category_type: SHOES, sort_by: \"name|asc\") {data {id name slug}}\n apparel: luxity_brands(has_products: true, limit: 1000, page: 1, category_type: APPAREL, sort_by: \"name|asc\") {data {id name slug}}\n accessories: luxity_brands(has_products: true, limit: 1000, page: 1, category_type: ACCESSORIES, sort_by: \"name|asc\") {data {id name slug}}\n watches: luxity_brands(has_products: true, limit: 1000, page: 1, category_type: WATCHES, sort_by: \"name|asc\") {data {id name slug}}\n accessories_categories: luxity_accessories_categories_list { id name slug }\n apparel_styles: luxity_apparel_styles_list { name slug }\n } "
@@ -259,22 +386,21 @@
259
386
 
260
387
  var SearchResults = function SearchResults(_ref) {
261
388
  var searchValue = _ref.searchValue,
262
- searchLoading = _ref.searchLoading,
263
389
  searchResults = _ref.searchResults,
264
390
  onViewAll = _ref.onViewAll,
265
391
  searchResultsRef = _ref.searchResultsRef,
266
392
  onSearchSubmit = _ref.onSearchSubmit,
267
393
  setSearchValue = _ref.setSearchValue;
268
394
 
269
- if (searchValue.trim() !== '') {
395
+ if (searchValue.trim().length >= 3) {
396
+ if (searchResults.brands.length === 0 && searchResults.products.length === 0) {
397
+ return null;
398
+ }
399
+
270
400
  return /*#__PURE__*/React__default.createElement("div", {
271
401
  className: "z-50 absolute md:top-14 font-body bg-white w-full lg:w-1/2 flex flex-col md:flex-row md:divide-x divide-black lg:mt-1 shadow-md",
272
402
  ref: searchResultsRef
273
- }, searchLoading ? /*#__PURE__*/React__default.createElement("div", {
274
- className: "w-full py-20 flex items-center justify-center"
275
- }, "Searching ...") : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, searchResults.brands.length === 0 && searchResults.products.length === 0 ? /*#__PURE__*/React__default.createElement("div", {
276
- className: "w-full py-20 flex items-center justify-center"
277
- }, "No products found") : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
403
+ }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
278
404
  className: "w-full lg:w-1/3"
279
405
  }, /*#__PURE__*/React__default.createElement("p", {
280
406
  className: "font-bold p-2 px-4"
@@ -305,7 +431,7 @@
305
431
  setSearchValue('');
306
432
  },
307
433
  className: "bottom-0 mt-5 py-3 w-full font-body text-center text-white uppercase bg-black hover:bg-gray-950 border border-black transition-all ease-in-out duration-300 cursor-pointer"
308
- }, "View all")))));
434
+ }, "View all"))));
309
435
  }
310
436
 
311
437
  return null;
@@ -372,7 +498,7 @@
372
498
  hasError = _useState8[0],
373
499
  setHasError = _useState8[1];
374
500
 
375
- var _useState9 = React.useState(true),
501
+ var _useState9 = React.useState(false),
376
502
  _useState10 = _slicedToArray(_useState9, 2),
377
503
  searchLoading = _useState10[0],
378
504
  setSearchLoading = _useState10[1];
@@ -386,6 +512,50 @@
386
512
  setSearchResults = _useState12[1];
387
513
 
388
514
  var searchResultsRef = React.useRef(null);
515
+
516
+ var debounce = function debounce(func, wait) {
517
+ var timeout;
518
+ return function executedFunction() {
519
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
520
+ args[_key] = arguments[_key];
521
+ }
522
+
523
+ var later = function later() {
524
+ clearTimeout(timeout);
525
+ func.apply(void 0, args);
526
+ };
527
+
528
+ clearTimeout(timeout);
529
+ timeout = setTimeout(later, wait);
530
+ };
531
+ };
532
+
533
+ var debouncedSearch = React.useCallback(debounce(function (nextValue) {
534
+ setSearchLoading(true);
535
+ axios.post(endpoint, searchProducts(nextValue, 6)).then(function (response) {
536
+ setSearchResults(response.data.data.luxity_products_serach_results);
537
+ var ids = response.data.data.luxity_products_serach_results.luxity_product_ids;
538
+ onProductIdsReceived(ids);
539
+ setSearchLoading(false);
540
+ }).catch(function () {
541
+ setSearchLoading(false);
542
+ });
543
+ }, 500), [endpoint]);
544
+
545
+ var handleChange = function handleChange(event) {
546
+ var value = event.target.value;
547
+ setSearchValue(value);
548
+
549
+ if (value.trim().length >= 3) {
550
+ debouncedSearch(value);
551
+ } else {
552
+ setSearchResults({
553
+ brands: [],
554
+ products: []
555
+ });
556
+ }
557
+ };
558
+
389
559
  React.useEffect(function () {
390
560
  var handleClickOutside = function handleClickOutside(event) {
391
561
  if (searchResultsRef.current && !searchResultsRef.current.contains(event.target)) {
@@ -437,30 +607,6 @@
437
607
  return setHasError(true);
438
608
  });
439
609
  }, [endpoint]);
440
-
441
- var handleChange = function handleChange(event) {
442
- var value = event.target.value;
443
- setSearchValue(value);
444
- onSearch(value);
445
-
446
- if (value.trim() !== '') {
447
- setSearchLoading(true);
448
- axios.post(endpoint, searchProducts(value, 6)).then(function (response) {
449
- setSearchResults(response.data.data.luxity_products_serach_results);
450
- var ids = response.data.data.luxity_products_serach_results.luxity_product_ids;
451
- onProductIdsReceived(ids);
452
- setSearchLoading(false);
453
- }).catch(function () {
454
- setSearchLoading(false);
455
- });
456
- } else {
457
- setSearchResults({
458
- brands: [],
459
- products: []
460
- });
461
- }
462
- };
463
-
464
610
  return /*#__PURE__*/React__default.createElement("div", {
465
611
  className: "navbar"
466
612
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -492,9 +638,14 @@
492
638
  onChange: handleChange,
493
639
  onKeyDown: handleKeyDown,
494
640
  onClick: onSearch
641
+ }), searchLoading && /*#__PURE__*/React__default.createElement(BeatLoader, {
642
+ color: "#000000",
643
+ loading: searchLoading,
644
+ size: 5,
645
+ "aria-label": "Loading Spinner",
646
+ "data-testid": "loader"
495
647
  })), /*#__PURE__*/React__default.createElement(SearchResults, {
496
648
  searchValue: searchValue,
497
- searchLoading: searchLoading,
498
649
  searchResults: searchResults,
499
650
  onViewAll: function onViewAll() {
500
651
  onSearchSubmit(searchValue);
@@ -7802,7 +7802,7 @@
7802
7802
  var Clothing = (function (props) {
7803
7803
  return /*#__PURE__*/React__default.createElement("svg", _extends({
7804
7804
  version: "1.1",
7805
- id: "Layer_1",
7805
+ id: "svg-clothing",
7806
7806
  xmlns: "http://www.w3.org/2000/svg",
7807
7807
  xmlnsXlink: "http://www.w3.org/1999/xlink",
7808
7808
  x: "0px",
@@ -7813,7 +7813,8 @@
7813
7813
  className: "st0",
7814
7814
  cx: "42.6",
7815
7815
  cy: "42.6",
7816
- r: "42.6"
7816
+ r: "42.6",
7817
+ fill: "#fff"
7817
7818
  }), /*#__PURE__*/React__default.createElement("path", {
7818
7819
  d: "M69.4,58.9C69,56.7,68,55,66.2,53.6l-4.4-3.3c-4.4-3.3-8.8-6.5-13.2-9.8c-0.6-0.4-1.3-0.8-2.3-1.2l-0.1,0 c-0.6-0.2-0.6-0.2-0.7-1c0-0.6,0.2-0.9,0.7-1.1c3-1.5,4.6-4.7,4.2-8c-0.5-3.6-3.4-6.4-7-6.7c-3.5-0.4-6.9,1.8-8.1,5.2 c-0.5,1.5,0.1,3.1,1.6,3.6c1.5,0.6,3.1-0.1,3.8-1.6l0.1-0.2c0-0.1,0.1-0.2,0.1-0.3c0.4-0.9,1.4-1.3,2.3-1.1c1,0.2,1.7,1,1.7,2 c0,1.1-0.6,1.8-1.6,2.2c-2.1,0.7-3.3,2.4-3.3,4.6v0.5c0,0.5,0,1.1,0,1.7v0.1c0,0,0,0-0.1,0c-1,0.2-2,0.7-2.9,1.4L19,53.7 c-1.7,1.3-2.7,2.9-3.1,4.8c-0.2,1-0.2,2-0.2,3c0,0.4,0.3,1,0.7,1.2c0.4,0.2,1,0,1.3-0.1c0.6-0.3,1.1-0.7,1.6-1.1 c0.2-0.2,0.5-0.3,0.9-0.3h5.2c12.5,0,25.4,0,38,0h0c1.8,0,2.9,0.4,3.9,1.2c0.2,0.2,0.6,0.5,1,0.5h0c0.4,0,0.8-0.3,1.1-0.7l0.1-0.1 v-2.9L69.4,58.9z M42.2,36.3c0.1-0.9,0.6-1.5,1.6-1.8c2-0.6,3.2-2.2,3.3-4.1c0.1-2.2-1.4-4.1-3.5-4.6c-2.2-0.5-4.3,0.6-5.2,2.7 l0,0.1c0,0,0,0.1,0,0.1c-0.1,0.3-0.4,0.4-0.7,0.3c-0.1-0.1-0.3-0.1-0.2-0.6c0.5-1.5,1.7-2.7,3.3-3.3c1.6-0.6,3.3-0.4,4.7,0.5 c1.6,1,2.5,2.8,2.5,4.7c0,1.9-1.1,3.6-2.8,4.6C45.1,35,45,35,44.9,35.1l-0.2,0.1c-1.1,0.6-1.7,1.5-1.7,2.7l0,1h-0.9 c0-0.2,0-0.4,0-0.6C42.1,37.6,42.1,37,42.2,36.3z M47.3,45.3c-1.5-1-3.1-1.6-4.7-1.6c-1.6,0-3.2,0.5-4.6,1.5c-1.9,1.3-3.8,2.7-5.7,4 l-0.7,0.5c-0.3,0.2-0.6,0.6-0.6,0.9c0,0.3,0,0.6,0.2,0.9c0.4,0.5,1.1,0.6,1.7,0.2c0,0,0.1-0.1,0.2-0.1l1.7-1.2 c1.5-1.1,3-2.1,4.5-3.2c0.6-0.4,1.2-0.7,1.8-0.9c1.7-0.5,3.4-0.2,5,0.9c2.9,2.1,5.8,4.1,8.7,6.2l3.1,2.2l4.2,3.1H23.3l3.4-2.5l2-1.5 l0,0l1.1-0.8c0.1,0,0.1-0.1,0.2-0.1c0.6-0.5,0.7-1.2,0.3-1.7c-0.4-0.5-1.1-0.6-1.7-0.2c-0.4,0.2-0.7,0.5-1,0.7l-9.4,6.7 c0.1-1,0.5-1.9,1.1-2.7c0.3-0.4,0.7-0.8,1.1-1.1c4-3,8-5.9,12-8.9l5.7-4.2c1.1-0.8,2.2-1.2,3.5-1.2h0.7c0.7,0,1.5,0,2.2,0.1 c0.8,0.1,1.6,0.4,2.5,1l17.8,13.1c1.3,0.9,2,2.2,2.2,3.7L47.3,45.3z"
7819
7820
  }), /*#__PURE__*/React__default.createElement("path", {
@@ -107,6 +107,133 @@
107
107
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
108
108
  }
109
109
 
110
+ var cssUnit = {
111
+ cm: true,
112
+ mm: true,
113
+ in: true,
114
+ px: true,
115
+ pt: true,
116
+ pc: true,
117
+ em: true,
118
+ ex: true,
119
+ ch: true,
120
+ rem: true,
121
+ vw: true,
122
+ vh: true,
123
+ vmin: true,
124
+ vmax: true,
125
+ "%": true,
126
+ };
127
+ /**
128
+ * If size is a number, append px to the value as default unit.
129
+ * If size is a string, validate against list of valid units.
130
+ * If unit is valid, return size as is.
131
+ * If unit is invalid, console warn issue, replace with px as the unit.
132
+ *
133
+ * @param {(number | string)} size
134
+ * @return {LengthObject} LengthObject
135
+ */
136
+ function parseLengthAndUnit(size) {
137
+ if (typeof size === "number") {
138
+ return {
139
+ value: size,
140
+ unit: "px",
141
+ };
142
+ }
143
+ var value;
144
+ var valueString = (size.match(/^[0-9.]*/) || "").toString();
145
+ if (valueString.includes(".")) {
146
+ value = parseFloat(valueString);
147
+ }
148
+ else {
149
+ value = parseInt(valueString, 10);
150
+ }
151
+ var unit = (size.match(/[^0-9]*$/) || "").toString();
152
+ if (cssUnit[unit]) {
153
+ return {
154
+ value: value,
155
+ unit: unit,
156
+ };
157
+ }
158
+ console.warn("React Spinners: ".concat(size, " is not a valid css value. Defaulting to ").concat(value, "px."));
159
+ return {
160
+ value: value,
161
+ unit: "px",
162
+ };
163
+ }
164
+ /**
165
+ * Take value as an input and return valid css value
166
+ *
167
+ * @param {(number | string)} value
168
+ * @return {string} valid css value
169
+ */
170
+ function cssValue(value) {
171
+ var lengthWithunit = parseLengthAndUnit(value);
172
+ return "".concat(lengthWithunit.value).concat(lengthWithunit.unit);
173
+ }
174
+
175
+ var createAnimation = function (loaderName, frames, suffix) {
176
+ var animationName = "react-spinners-".concat(loaderName, "-").concat(suffix);
177
+ if (typeof window == "undefined" || !window.document) {
178
+ return animationName;
179
+ }
180
+ var styleEl = document.createElement("style");
181
+ document.head.appendChild(styleEl);
182
+ var styleSheet = styleEl.sheet;
183
+ var keyFrames = "\n @keyframes ".concat(animationName, " {\n ").concat(frames, "\n }\n ");
184
+ if (styleSheet) {
185
+ styleSheet.insertRule(keyFrames, 0);
186
+ }
187
+ return animationName;
188
+ };
189
+
190
+ var __assign = (undefined && undefined.__assign) || function () {
191
+ __assign = Object.assign || function(t) {
192
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
193
+ s = arguments[i];
194
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
195
+ t[p] = s[p];
196
+ }
197
+ return t;
198
+ };
199
+ return __assign.apply(this, arguments);
200
+ };
201
+ var __rest = (undefined && undefined.__rest) || function (s, e) {
202
+ var t = {};
203
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
204
+ t[p] = s[p];
205
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
206
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
207
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
208
+ t[p[i]] = s[p[i]];
209
+ }
210
+ return t;
211
+ };
212
+ var beat = createAnimation("BeatLoader", "50% {transform: scale(0.75);opacity: 0.2} 100% {transform: scale(1);opacity: 1}", "beat");
213
+ function BeatLoader(_a) {
214
+ var _b = _a.loading, loading = _b === void 0 ? true : _b, _c = _a.color, color = _c === void 0 ? "#000000" : _c, _d = _a.speedMultiplier, speedMultiplier = _d === void 0 ? 1 : _d, _e = _a.cssOverride, cssOverride = _e === void 0 ? {} : _e, _f = _a.size, size = _f === void 0 ? 15 : _f, _g = _a.margin, margin = _g === void 0 ? 2 : _g, additionalprops = __rest(_a, ["loading", "color", "speedMultiplier", "cssOverride", "size", "margin"]);
215
+ var wrapper = __assign({ display: "inherit" }, cssOverride);
216
+ var style = function (i) {
217
+ return {
218
+ display: "inline-block",
219
+ backgroundColor: color,
220
+ width: cssValue(size),
221
+ height: cssValue(size),
222
+ margin: cssValue(margin),
223
+ borderRadius: "100%",
224
+ animation: "".concat(beat, " ").concat(0.7 / speedMultiplier, "s ").concat(i % 2 ? "0s" : "".concat(0.35 / speedMultiplier, "s"), " infinite linear"),
225
+ animationFillMode: "both",
226
+ };
227
+ };
228
+ if (!loading) {
229
+ return null;
230
+ }
231
+ return (React.createElement("span", __assign({ style: wrapper }, additionalprops),
232
+ React.createElement("span", { style: style(1) }),
233
+ React.createElement("span", { style: style(2) }),
234
+ React.createElement("span", { style: style(3) })));
235
+ }
236
+
110
237
  var LuxityAppSideNav = function LuxityAppSideNav(_ref) {
111
238
  var closeIcon = _ref.closeIcon,
112
239
  accountIcon = _ref.accountIcon,
@@ -362,7 +489,7 @@
362
489
  className: "side-nav__elements"
363
490
  }, categoryElements.map(function (category) {
364
491
  return /*#__PURE__*/React__default.createElement("a", {
365
- href: "".concat(productUrl, "/").concat(category.slug),
492
+ href: "".concat(productUrl, "/").concat(['new', 'apparel', 'accessories'].includes(categorySlug) ? category.slug : "".concat(categorySlug, "/").concat(category.slug)),
366
493
  className: "side-nav__element"
367
494
  }, category.name.toLowerCase());
368
495
  })), /*#__PURE__*/React__default.createElement("br", null), /*#__PURE__*/React__default.createElement("div", {
@@ -374,7 +501,7 @@
374
501
  className: "side-nav__element"
375
502
  }, "All Brands"), !!brandsList.length && brandsList.map(function (brand) {
376
503
  return /*#__PURE__*/React__default.createElement("a", {
377
- href: "".concat(productUrl, "/").concat(categorySlug, "/").concat(brand.slug),
504
+ href: "".concat(productUrl, "/").concat(categorySlug === 'new' ? 'brands' : categorySlug, "/").concat(brand.slug),
378
505
  className: "side-nav__element"
379
506
  }, brand.name);
380
507
  })))));
@@ -733,22 +860,21 @@
733
860
 
734
861
  var SearchResults = function SearchResults(_ref) {
735
862
  var searchValue = _ref.searchValue,
736
- searchLoading = _ref.searchLoading,
737
863
  searchResults = _ref.searchResults,
738
864
  onViewAll = _ref.onViewAll,
739
865
  searchResultsRef = _ref.searchResultsRef,
740
866
  onSearchSubmit = _ref.onSearchSubmit,
741
867
  setSearchValue = _ref.setSearchValue;
742
868
 
743
- if (searchValue.trim() !== '') {
869
+ if (searchValue.trim().length >= 3) {
870
+ if (searchResults.brands.length === 0 && searchResults.products.length === 0) {
871
+ return null;
872
+ }
873
+
744
874
  return /*#__PURE__*/React__default.createElement("div", {
745
875
  className: "z-50 absolute md:top-14 font-body bg-white w-full lg:w-1/2 flex flex-col md:flex-row md:divide-x divide-black lg:mt-1 shadow-md",
746
876
  ref: searchResultsRef
747
- }, searchLoading ? /*#__PURE__*/React__default.createElement("div", {
748
- className: "w-full py-20 flex items-center justify-center"
749
- }, "Searching ...") : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, searchResults.brands.length === 0 && searchResults.products.length === 0 ? /*#__PURE__*/React__default.createElement("div", {
750
- className: "w-full py-20 flex items-center justify-center"
751
- }, "No products found") : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
877
+ }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
752
878
  className: "w-full lg:w-1/3"
753
879
  }, /*#__PURE__*/React__default.createElement("p", {
754
880
  className: "font-bold p-2 px-4"
@@ -779,7 +905,7 @@
779
905
  setSearchValue('');
780
906
  },
781
907
  className: "bottom-0 mt-5 py-3 w-full font-body text-center text-white uppercase bg-black hover:bg-gray-950 border border-black transition-all ease-in-out duration-300 cursor-pointer"
782
- }, "View all")))));
908
+ }, "View all"))));
783
909
  }
784
910
 
785
911
  return null;
@@ -789,7 +915,6 @@
789
915
  var logoSrc = _ref.logoSrc,
790
916
  menuIcon = _ref.menuIcon,
791
917
  inputSearchIcon = _ref.inputSearchIcon,
792
- onSearch = _ref.onSearch,
793
918
  onCartClick = _ref.onCartClick,
794
919
  cartIcon = _ref.cartIcon,
795
920
  cartCount = _ref.cartCount,
@@ -841,7 +966,7 @@
841
966
  showSideNav = _useState6[0],
842
967
  setShowSideNav = _useState6[1];
843
968
 
844
- var _useState7 = React.useState(true),
969
+ var _useState7 = React.useState(false),
845
970
  _useState8 = _slicedToArray(_useState7, 2),
846
971
  searchLoading = _useState8[0],
847
972
  setSearchLoading = _useState8[1];
@@ -854,21 +979,41 @@
854
979
  searchResults = _useState10[0],
855
980
  setSearchResults = _useState10[1];
856
981
 
982
+ var debounce = function debounce(func, wait) {
983
+ var timeout;
984
+ return function executedFunction() {
985
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
986
+ args[_key] = arguments[_key];
987
+ }
988
+
989
+ var later = function later() {
990
+ clearTimeout(timeout);
991
+ func.apply(void 0, args);
992
+ };
993
+
994
+ clearTimeout(timeout);
995
+ timeout = setTimeout(later, wait);
996
+ };
997
+ };
998
+
999
+ var debouncedSearch = React.useCallback(debounce(function (nextValue) {
1000
+ setSearchLoading(true);
1001
+ axios.post(endpoint, searchProducts(nextValue, 6)).then(function (response) {
1002
+ setSearchResults(response.data.data.luxity_products_serach_results);
1003
+ var ids = response.data.data.luxity_products_serach_results.luxity_product_ids;
1004
+ onProductIdsReceived(ids);
1005
+ setSearchLoading(false);
1006
+ }).catch(function () {
1007
+ setSearchLoading(false);
1008
+ });
1009
+ }, 500), [endpoint]);
1010
+
857
1011
  var handleChange = function handleChange(event) {
858
1012
  var value = event.target.value;
859
1013
  setSearchValue(value);
860
- onSearch(value);
861
-
862
- if (value.trim() !== '') {
863
- setSearchLoading(true);
864
- axios.post(endpoint, searchProducts(value, 6)).then(function (response) {
865
- setSearchResults(response.data.data.luxity_products_serach_results);
866
- var ids = response.data.data.luxity_products_serach_results.luxity_product_ids;
867
- onProductIdsReceived(ids);
868
- setSearchLoading(false);
869
- }).catch(function () {
870
- setSearchLoading(false);
871
- });
1014
+
1015
+ if (value.trim().length >= 3) {
1016
+ debouncedSearch(value);
872
1017
  } else {
873
1018
  setSearchResults({
874
1019
  brands: [],
@@ -1012,6 +1157,12 @@
1012
1157
  value: searchValue,
1013
1158
  onChange: handleChange,
1014
1159
  onKeyDown: handleKeyDown
1160
+ }), searchLoading && /*#__PURE__*/React__default.createElement(BeatLoader, {
1161
+ color: "#000000",
1162
+ loading: searchLoading,
1163
+ size: 5,
1164
+ "aria-label": "Loading Spinner",
1165
+ "data-testid": "loader"
1015
1166
  })), /*#__PURE__*/React__default.createElement("button", {
1016
1167
  type: "button",
1017
1168
  onClick: onSearchClick
package/LuxitySideNav.js CHANGED
@@ -187,7 +187,7 @@
187
187
  className: "side-nav__elements"
188
188
  }, categoryElements.map(function (category) {
189
189
  return /*#__PURE__*/React__default.createElement("a", {
190
- href: "".concat(productUrl, "/").concat(category.slug),
190
+ href: "".concat(productUrl, "/").concat(['new', 'apparel', 'accessories'].includes(categorySlug) ? category.slug : "".concat(categorySlug, "/").concat(category.slug)),
191
191
  className: "side-nav__element"
192
192
  }, category.name.toLowerCase());
193
193
  })), /*#__PURE__*/React__default.createElement("br", null), /*#__PURE__*/React__default.createElement("div", {
@@ -199,7 +199,7 @@
199
199
  className: "side-nav__element"
200
200
  }, "All Brands"), !!brandsList.length && brandsList.map(function (brand) {
201
201
  return /*#__PURE__*/React__default.createElement("a", {
202
- href: "".concat(productUrl, "/").concat(categorySlug, "/").concat(brand.slug),
202
+ href: "".concat(productUrl, "/").concat(categorySlug === 'new' ? 'brands' : categorySlug, "/").concat(brand.slug),
203
203
  className: "side-nav__element"
204
204
  }, brand.name);
205
205
  })))));
@@ -7802,7 +7802,7 @@
7802
7802
  var Clothing = (function (props) {
7803
7803
  return /*#__PURE__*/React__default.createElement("svg", _extends({
7804
7804
  version: "1.1",
7805
- id: "Layer_1",
7805
+ id: "svg-clothing",
7806
7806
  xmlns: "http://www.w3.org/2000/svg",
7807
7807
  xmlnsXlink: "http://www.w3.org/1999/xlink",
7808
7808
  x: "0px",
@@ -7813,7 +7813,8 @@
7813
7813
  className: "st0",
7814
7814
  cx: "42.6",
7815
7815
  cy: "42.6",
7816
- r: "42.6"
7816
+ r: "42.6",
7817
+ fill: "#fff"
7817
7818
  }), /*#__PURE__*/React__default.createElement("path", {
7818
7819
  d: "M69.4,58.9C69,56.7,68,55,66.2,53.6l-4.4-3.3c-4.4-3.3-8.8-6.5-13.2-9.8c-0.6-0.4-1.3-0.8-2.3-1.2l-0.1,0 c-0.6-0.2-0.6-0.2-0.7-1c0-0.6,0.2-0.9,0.7-1.1c3-1.5,4.6-4.7,4.2-8c-0.5-3.6-3.4-6.4-7-6.7c-3.5-0.4-6.9,1.8-8.1,5.2 c-0.5,1.5,0.1,3.1,1.6,3.6c1.5,0.6,3.1-0.1,3.8-1.6l0.1-0.2c0-0.1,0.1-0.2,0.1-0.3c0.4-0.9,1.4-1.3,2.3-1.1c1,0.2,1.7,1,1.7,2 c0,1.1-0.6,1.8-1.6,2.2c-2.1,0.7-3.3,2.4-3.3,4.6v0.5c0,0.5,0,1.1,0,1.7v0.1c0,0,0,0-0.1,0c-1,0.2-2,0.7-2.9,1.4L19,53.7 c-1.7,1.3-2.7,2.9-3.1,4.8c-0.2,1-0.2,2-0.2,3c0,0.4,0.3,1,0.7,1.2c0.4,0.2,1,0,1.3-0.1c0.6-0.3,1.1-0.7,1.6-1.1 c0.2-0.2,0.5-0.3,0.9-0.3h5.2c12.5,0,25.4,0,38,0h0c1.8,0,2.9,0.4,3.9,1.2c0.2,0.2,0.6,0.5,1,0.5h0c0.4,0,0.8-0.3,1.1-0.7l0.1-0.1 v-2.9L69.4,58.9z M42.2,36.3c0.1-0.9,0.6-1.5,1.6-1.8c2-0.6,3.2-2.2,3.3-4.1c0.1-2.2-1.4-4.1-3.5-4.6c-2.2-0.5-4.3,0.6-5.2,2.7 l0,0.1c0,0,0,0.1,0,0.1c-0.1,0.3-0.4,0.4-0.7,0.3c-0.1-0.1-0.3-0.1-0.2-0.6c0.5-1.5,1.7-2.7,3.3-3.3c1.6-0.6,3.3-0.4,4.7,0.5 c1.6,1,2.5,2.8,2.5,4.7c0,1.9-1.1,3.6-2.8,4.6C45.1,35,45,35,44.9,35.1l-0.2,0.1c-1.1,0.6-1.7,1.5-1.7,2.7l0,1h-0.9 c0-0.2,0-0.4,0-0.6C42.1,37.6,42.1,37,42.2,36.3z M47.3,45.3c-1.5-1-3.1-1.6-4.7-1.6c-1.6,0-3.2,0.5-4.6,1.5c-1.9,1.3-3.8,2.7-5.7,4 l-0.7,0.5c-0.3,0.2-0.6,0.6-0.6,0.9c0,0.3,0,0.6,0.2,0.9c0.4,0.5,1.1,0.6,1.7,0.2c0,0,0.1-0.1,0.2-0.1l1.7-1.2 c1.5-1.1,3-2.1,4.5-3.2c0.6-0.4,1.2-0.7,1.8-0.9c1.7-0.5,3.4-0.2,5,0.9c2.9,2.1,5.8,4.1,8.7,6.2l3.1,2.2l4.2,3.1H23.3l3.4-2.5l2-1.5 l0,0l1.1-0.8c0.1,0,0.1-0.1,0.2-0.1c0.6-0.5,0.7-1.2,0.3-1.7c-0.4-0.5-1.1-0.6-1.7-0.2c-0.4,0.2-0.7,0.5-1,0.7l-9.4,6.7 c0.1-1,0.5-1.9,1.1-2.7c0.3-0.4,0.7-0.8,1.1-1.1c4-3,8-5.9,12-8.9l5.7-4.2c1.1-0.8,2.2-1.2,3.5-1.2h0.7c0.7,0,1.5,0,2.2,0.1 c0.8,0.1,1.6,0.4,2.5,1l17.8,13.1c1.3,0.9,2,2.2,2.2,3.7L47.3,45.3z"
7819
7820
  }), /*#__PURE__*/React__default.createElement("path", {
package/ModelSelector.js CHANGED
@@ -7802,7 +7802,7 @@
7802
7802
  var Clothing = (function (props) {
7803
7803
  return /*#__PURE__*/React__default.createElement("svg", _extends({
7804
7804
  version: "1.1",
7805
- id: "Layer_1",
7805
+ id: "svg-clothing",
7806
7806
  xmlns: "http://www.w3.org/2000/svg",
7807
7807
  xmlnsXlink: "http://www.w3.org/1999/xlink",
7808
7808
  x: "0px",
@@ -7813,7 +7813,8 @@
7813
7813
  className: "st0",
7814
7814
  cx: "42.6",
7815
7815
  cy: "42.6",
7816
- r: "42.6"
7816
+ r: "42.6",
7817
+ fill: "#fff"
7817
7818
  }), /*#__PURE__*/React__default.createElement("path", {
7818
7819
  d: "M69.4,58.9C69,56.7,68,55,66.2,53.6l-4.4-3.3c-4.4-3.3-8.8-6.5-13.2-9.8c-0.6-0.4-1.3-0.8-2.3-1.2l-0.1,0 c-0.6-0.2-0.6-0.2-0.7-1c0-0.6,0.2-0.9,0.7-1.1c3-1.5,4.6-4.7,4.2-8c-0.5-3.6-3.4-6.4-7-6.7c-3.5-0.4-6.9,1.8-8.1,5.2 c-0.5,1.5,0.1,3.1,1.6,3.6c1.5,0.6,3.1-0.1,3.8-1.6l0.1-0.2c0-0.1,0.1-0.2,0.1-0.3c0.4-0.9,1.4-1.3,2.3-1.1c1,0.2,1.7,1,1.7,2 c0,1.1-0.6,1.8-1.6,2.2c-2.1,0.7-3.3,2.4-3.3,4.6v0.5c0,0.5,0,1.1,0,1.7v0.1c0,0,0,0-0.1,0c-1,0.2-2,0.7-2.9,1.4L19,53.7 c-1.7,1.3-2.7,2.9-3.1,4.8c-0.2,1-0.2,2-0.2,3c0,0.4,0.3,1,0.7,1.2c0.4,0.2,1,0,1.3-0.1c0.6-0.3,1.1-0.7,1.6-1.1 c0.2-0.2,0.5-0.3,0.9-0.3h5.2c12.5,0,25.4,0,38,0h0c1.8,0,2.9,0.4,3.9,1.2c0.2,0.2,0.6,0.5,1,0.5h0c0.4,0,0.8-0.3,1.1-0.7l0.1-0.1 v-2.9L69.4,58.9z M42.2,36.3c0.1-0.9,0.6-1.5,1.6-1.8c2-0.6,3.2-2.2,3.3-4.1c0.1-2.2-1.4-4.1-3.5-4.6c-2.2-0.5-4.3,0.6-5.2,2.7 l0,0.1c0,0,0,0.1,0,0.1c-0.1,0.3-0.4,0.4-0.7,0.3c-0.1-0.1-0.3-0.1-0.2-0.6c0.5-1.5,1.7-2.7,3.3-3.3c1.6-0.6,3.3-0.4,4.7,0.5 c1.6,1,2.5,2.8,2.5,4.7c0,1.9-1.1,3.6-2.8,4.6C45.1,35,45,35,44.9,35.1l-0.2,0.1c-1.1,0.6-1.7,1.5-1.7,2.7l0,1h-0.9 c0-0.2,0-0.4,0-0.6C42.1,37.6,42.1,37,42.2,36.3z M47.3,45.3c-1.5-1-3.1-1.6-4.7-1.6c-1.6,0-3.2,0.5-4.6,1.5c-1.9,1.3-3.8,2.7-5.7,4 l-0.7,0.5c-0.3,0.2-0.6,0.6-0.6,0.9c0,0.3,0,0.6,0.2,0.9c0.4,0.5,1.1,0.6,1.7,0.2c0,0,0.1-0.1,0.2-0.1l1.7-1.2 c1.5-1.1,3-2.1,4.5-3.2c0.6-0.4,1.2-0.7,1.8-0.9c1.7-0.5,3.4-0.2,5,0.9c2.9,2.1,5.8,4.1,8.7,6.2l3.1,2.2l4.2,3.1H23.3l3.4-2.5l2-1.5 l0,0l1.1-0.8c0.1,0,0.1-0.1,0.2-0.1c0.6-0.5,0.7-1.2,0.3-1.7c-0.4-0.5-1.1-0.6-1.7-0.2c-0.4,0.2-0.7,0.5-1,0.7l-9.4,6.7 c0.1-1,0.5-1.9,1.1-2.7c0.3-0.4,0.7-0.8,1.1-1.1c4-3,8-5.9,12-8.9l5.7-4.2c1.1-0.8,2.2-1.2,3.5-1.2h0.7c0.7,0,1.5,0,2.2,0.1 c0.8,0.1,1.6,0.4,2.5,1l17.8,13.1c1.3,0.9,2,2.2,2.2,3.7L47.3,45.3z"
7819
7820
  }), /*#__PURE__*/React__default.createElement("path", {
package/build/bundle.css CHANGED
@@ -1 +1 @@
1
- .navbar{box-shadow:2px 2px 10px #dfdede;display:flex;padding-bottom:10px;padding-top:20px;position:relative}.navbar__link-item--desktop{align-items:center;display:flex;height:35px;margin:auto 0;padding-top:5px}.navbar__mobile-wrapper{align-items:center;display:flex;flex-direction:column;padding-bottom:20px;padding-left:32px;padding-right:32px}.navbar__container{display:flex;margin:0 auto;max-width:1280px;padding-left:12px;padding-right:12px;width:100%}.navbar__body{flex-basis:60%}.navbar__wrapper{align-items:center;display:flex;justify-content:space-between;width:100%}.navbar__product-search-wrapper{align-items:center;display:flex;justify-content:center;padding:0 20%;width:100%}@media only screen and (max-width:879px){.navbar__product-search-wrapper{padding:0}}.navbar__input-close-icon{height:auto;margin-bottom:10px;margin-left:10px;width:20px}@media only screen and (max-width:879px){.navbar__input-close-icon{margin-bottom:0;margin-left:0;width:15px}}.navbar__menu-icon{width:30px}.navbar__product-search{align-items:center;display:flex;max-width:545px;width:100%}.navbar__logo-wrapper{margin-right:18px;width:200px}.navbar__logo{width:200px}@media only screen and (max-width:879px){.navbar__logo{margin-left:10px;margin-top:5px;width:125px}}.navbar__form-input{align-items:center;background:transparent;border:none;display:flex;font-size:13px;outline:none;padding:8px;width:100%}.navbar__product-search{border:1px solid #dfdede;margin-bottom:10px}@media only screen and (max-width:879px){.navbar__product-search{border:none;border-bottom:1px solid #dfdede;margin-bottom:0;margin-right:10px;margin-top:10px}}.navbar__section{align-items:flex-start;display:flex;flex-direction:row;justify-content:space-between;width:100%}.navbar__link{display:inline-block;font-family:Martel Sans;font-size:14px;font-weight:700;margin-right:10px;overflow:hidden;text-transform:uppercase;transition:.3s ease-in-out}.navbar__link:after{background-color:#000;content:"";display:block;height:2px;transition:width .25s ease-out;width:0}.navbar__link:hover:after{width:100%}.navbar__link:hover .navbar__dropdown{animation:fadeInDropdown .3s ease-in-out;display:block}.navbar__dropdown{background-color:#fff;box-shadow:5px 5px 5px #dfdede;display:none;left:0;position:absolute;width:100%;z-index:999}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.navbar__company-link{font-size:13px;font-weight:400;list-style:none;margin-left:18px;text-decoration:none}.navbar__company-block{align-items:center;background-color:#000;color:#fff;display:flex;font-weight:700;height:33px;justify-content:center;margin-right:0;padding:0 18px;text-transform:uppercase}.navbar__input-search-icon{height:auto;margin-left:1.125rem;margin-right:.375rem;width:15px}.navbar__nav-links{align-items:center;display:flex}.navbar__nav-links--wrap{flex-wrap:wrap}.navbar__icons{align-items:center;display:flex;height:40px;justify-content:flex-end;margin-bottom:10px}@media only screen and (max-width:879px){.navbar__icons{display:block;height:20px;margin-bottom:0}}.navbar__icon{cursor:pointer;height:auto;margin-right:18px;width:20px}@media only screen and (max-width:879px){.navbar__icon{margin-right:0}}.navbar__icon--app{cursor:pointer;height:auto;margin-left:12px;width:20px}@media only screen and (max-width:879px){.navbar__icon--app{margin-right:0}}.navbar__cart-icon{position:relative}.navbar__cart-count{align-items:center;background-color:#000;border-radius:50%;bottom:50%;color:#fff;display:flex;font-size:13px;height:20px;justify-content:center;left:100%;position:absolute;width:20px}.footer__newsletter-section{align-items:center;background-color:#000;color:#fff;display:flex;justify-content:space-between;padding:2.265rem 0}@media only screen and (max-width:879px){.footer__newsletter-section{flex-direction:column}}.footer__newsletter-wrapper{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__newsletter-wrapper{flex-direction:column}.footer__link-container{flex-basis:50%}}.footer__newsletter-icon{height:30px;position:absolute;right:0;top:0;width:32px}.footer__newsletter-form{flex-basis:50%;max-width:250px;position:relative}@media only screen and (max-width:879px){.footer__newsletter-form{display:block;margin-top:20px;max-width:100%;width:100%}}.footer__newsletter-title{font-family:Martel Sans,sans-serif;font-size:14px;font-weight:700;letter-spacing:3px;margin-bottom:1.125rem;text-transform:uppercase}.footer__newsletter-text{font-size:14px}.footer__form-input{background-color:#000;border:none;border-bottom:1px solid #fff;color:#fff;height:30px;outline:none;width:100%}.footer__form-input::-moz-placeholder{color:#fff;font-weight:400}.footer__form-input::placeholder{color:#fff;font-weight:400}.footer__form-errors{color:#fff;margin-top:5px}.footer__main-section{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:50px;margin-top:80px}.footer__link-title{font-family:El Messiri;font-size:16px;font-weight:700;margin-bottom:20px;text-transform:uppercase}@media only screen and (max-width:879px){.footer__link-title{margin-bottom:10px}}.footer__link-child{margin-top:25px}.footer__links{display:flex;flex-direction:column}.footer__link{color:#939393;cursor:pointer;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:15px;text-align:left;text-decoration:none}.footer__link:hover{color:#000;text-decoration:underline}@media only screen and (max-width:879px){.footer__link{margin-bottom:10px}}.footer__link-wrapper{align-items:center;display:flex;gap:5px}.footer__link-icon{height:13px;margin-bottom:18px}.footer__text{color:#939393;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:15px;text-align:left;text-decoration:none}.footer__store-hours{margin-top:35px}.footer__copyrights-section{border-top:1px solid;display:flex;justify-content:space-between;padding-bottom:20px;padding-top:20px}.footer__logo{height:30px;width:135px}.footer__payment-icons{align-items:center;display:flex}.footer__wrapper{margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__wrapper{padding:32px 0 0 24px}}.footer__wrapper--desktop{display:block}@media only screen and (max-width:879px){.footer__wrapper--desktop{display:none}}.footer__wrapper--mobile{display:none}@media only screen and (max-width:879px){.footer__wrapper--mobile{display:block;padding-top:30px}}.footer__copyright{font-size:10px;line-height:22px}.footer__copyright--mobile{display:none}@media only screen and (max-width:879px){.footer__copyright--mobile{display:block;padding:30px 10px 30px 0;text-align:center}}.footer__section-row{display:flex;gap:50%}@media only screen and (max-width:879px){.footer__section-row{gap:unset}}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;justify-content:space-between;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{font-size:14px;font-weight:700;line-height:20px;text-transform:uppercase}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{align-items:center;display:flex;font-size:14px;font-weight:700;justify-content:center;line-height:20px;text-transform:uppercase}.side-nav__menu-icon{display:flex;height:25px;margin-right:10px;width:25px}.side-nav__menu-divider{margin-bottom:40px}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}.stores-dropdown{align-items:flex-start;display:flex;font-family:Martel Sans;gap:20px;margin-left:auto;margin-right:auto;max-width:1280px;overflow-x:auto;padding:20px 15px}.stores-dropdown__image{height:200px;-o-object-fit:cover;object-fit:cover;width:100%}.stores-dropdown__store-details{flex-basis:20%}.stores-dropdown__title{font-family:El Messiri}.stores-dropdown__main-title,.stores-dropdown__title{font-size:16px;font-weight:400;letter-spacing:3px;margin-top:20px}.stores-dropdown__main-title{font-weight:700;margin-bottom:10px}.stores-dropdown__open-days{font-size:12px;font-weight:700;line-height:20px}.stores-dropdown__open-hours{font-size:12px;font-weight:400;line-height:20px}.stores-dropdown__queries-title{font-family:El Messiri;font-size:16px;font-weight:400;letter-spacing:3px}.stores-dropdown__contact-details{font-size:16px;font-weight:700}.stores-dropdown__view-more{cursor:pointer;font-size:14px;font-weight:400;margin-top:10px;text-transform:capitalize}.dropdown{display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:1280px;min-height:500px;overflow-x:auto;padding:20px 0}.dropdown__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center;min-height:300px}.dropdown__column{flex:1;padding-left:12px}.dropdown__column:nth-child(2){flex:2}.dropdown__title{font-family:El Messiri;font-size:16px;font-weight:700;letter-spacing:3px;line-height:1;margin-bottom:20px;text-transform:uppercase}.dropdown__elements{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:800px;overflow-y:auto}.dropdown__brand-elements{-moz-column-count:3;column-count:3;max-height:800px}.dropdown__brand-element{cursor:pointer;margin-bottom:10px}.dropdown__element{flex-basis:33.33%;font-family:Martel Sans;font-size:14px;font-weight:400;margin-bottom:10px;text-transform:capitalize}.cover-spinner{align-items:center;background-color:hsla(0,0%,100%,.7);display:flex;height:100%;justify-content:center;min-height:400px;position:relative;top:50%;width:100%;z-index:9999}.cover-spinner:after{animation:spin 1.5s linear infinite;border:4px dotted #000;border-radius:50%;border-top-color:transparent;content:"";display:block;height:40px;position:absolute;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
1
+ .footer__newsletter-section{align-items:center;background-color:#000;color:#fff;display:flex;justify-content:space-between;padding:2.265rem 0}@media only screen and (max-width:879px){.footer__newsletter-section{flex-direction:column}}.footer__newsletter-wrapper{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__newsletter-wrapper{flex-direction:column}.footer__link-container{flex-basis:50%}}.footer__newsletter-icon{height:30px;position:absolute;right:0;top:0;width:32px}.footer__newsletter-form{flex-basis:50%;max-width:250px;position:relative}@media only screen and (max-width:879px){.footer__newsletter-form{display:block;margin-top:20px;max-width:100%;width:100%}}.footer__newsletter-title{font-family:Martel Sans,sans-serif;font-size:14px;font-weight:700;letter-spacing:3px;margin-bottom:1.125rem;text-transform:uppercase}.footer__newsletter-text{font-size:14px}.footer__form-input{background-color:#000;border:none;border-bottom:1px solid #fff;color:#fff;height:30px;outline:none;width:100%}.footer__form-input::-moz-placeholder{color:#fff;font-weight:400}.footer__form-input::placeholder{color:#fff;font-weight:400}.footer__form-errors{color:#fff;margin-top:5px}.footer__main-section{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:50px;margin-top:80px}.footer__link-title{font-family:El Messiri;font-size:16px;font-weight:700;margin-bottom:20px;text-transform:uppercase}@media only screen and (max-width:879px){.footer__link-title{margin-bottom:10px}}.footer__link-child{margin-top:25px}.footer__links{display:flex;flex-direction:column}.footer__link{color:#939393;cursor:pointer;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:15px;text-align:left;text-decoration:none}.footer__link:hover{color:#000;text-decoration:underline}@media only screen and (max-width:879px){.footer__link{margin-bottom:10px}}.footer__link-wrapper{align-items:center;display:flex;gap:5px}.footer__link-icon{height:13px;margin-bottom:18px}.footer__text{color:#939393;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:15px;text-align:left;text-decoration:none}.footer__store-hours{margin-top:35px}.footer__copyrights-section{border-top:1px solid;display:flex;justify-content:space-between;padding-bottom:20px;padding-top:20px}.footer__logo{height:30px;width:135px}.footer__payment-icons{align-items:center;display:flex}.footer__wrapper{margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__wrapper{padding:32px 0 0 24px}}.footer__wrapper--desktop{display:block}@media only screen and (max-width:879px){.footer__wrapper--desktop{display:none}}.footer__wrapper--mobile{display:none}@media only screen and (max-width:879px){.footer__wrapper--mobile{display:block;padding-top:30px}}.footer__copyright{font-size:10px;line-height:22px}.footer__copyright--mobile{display:none}@media only screen and (max-width:879px){.footer__copyright--mobile{display:block;padding:30px 10px 30px 0;text-align:center}}.footer__section-row{display:flex;gap:50%}@media only screen and (max-width:879px){.footer__section-row{gap:unset}}.navbar{box-shadow:2px 2px 10px #dfdede;display:flex;padding-bottom:10px;padding-top:20px;position:relative}.navbar__link-item--desktop{align-items:center;display:flex;height:35px;margin:auto 0;padding-top:5px}.navbar__mobile-wrapper{align-items:center;display:flex;flex-direction:column;padding-bottom:20px;padding-left:32px;padding-right:32px}.navbar__container{display:flex;margin:0 auto;max-width:1280px;padding-left:12px;padding-right:12px;width:100%}.navbar__body{flex-basis:60%}.navbar__wrapper{align-items:center;display:flex;justify-content:space-between;width:100%}.navbar__product-search-wrapper{align-items:center;display:flex;justify-content:center;padding:0 20%;width:100%}@media only screen and (max-width:879px){.navbar__product-search-wrapper{padding:0}}.navbar__input-close-icon{height:auto;margin-bottom:10px;margin-left:10px;width:20px}@media only screen and (max-width:879px){.navbar__input-close-icon{margin-bottom:0;margin-left:0;width:15px}}.navbar__menu-icon{width:30px}.navbar__product-search{align-items:center;display:flex;max-width:545px;width:100%}.navbar__logo-wrapper{margin-right:18px;width:200px}.navbar__logo{width:200px}@media only screen and (max-width:879px){.navbar__logo{margin-left:10px;margin-top:5px;width:125px}}.navbar__form-input{align-items:center;background:transparent;border:none;display:flex;font-size:13px;outline:none;padding:8px;width:100%}.navbar__product-search{border:1px solid #dfdede;margin-bottom:10px}@media only screen and (max-width:879px){.navbar__product-search{border:none;border-bottom:1px solid #dfdede;margin-bottom:0;margin-right:10px;margin-top:10px}}.navbar__section{align-items:flex-start;display:flex;flex-direction:row;justify-content:space-between;width:100%}.navbar__link{display:inline-block;font-family:Martel Sans;font-size:14px;font-weight:700;margin-right:10px;overflow:hidden;text-transform:uppercase;transition:.3s ease-in-out}.navbar__link:after{background-color:#000;content:"";display:block;height:2px;transition:width .25s ease-out;width:0}.navbar__link:hover:after{width:100%}.navbar__link:hover .navbar__dropdown{animation:fadeInDropdown .3s ease-in-out;display:block}.navbar__dropdown{background-color:#fff;box-shadow:5px 5px 5px #dfdede;display:none;left:0;position:absolute;width:100%;z-index:999}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.navbar__company-link{font-size:13px;font-weight:400;list-style:none;margin-left:18px;text-decoration:none}.navbar__company-block{align-items:center;background-color:#000;color:#fff;display:flex;font-weight:700;height:33px;justify-content:center;margin-right:0;padding:0 18px;text-transform:uppercase}.navbar__input-search-icon{height:auto;margin-left:1.125rem;margin-right:.375rem;width:15px}.navbar__nav-links{align-items:center;display:flex}.navbar__nav-links--wrap{flex-wrap:wrap}.navbar__icons{align-items:center;display:flex;height:40px;justify-content:flex-end;margin-bottom:10px}@media only screen and (max-width:879px){.navbar__icons{display:block;height:20px;margin-bottom:0}}.navbar__icon{cursor:pointer;height:auto;margin-right:18px;width:20px}@media only screen and (max-width:879px){.navbar__icon{margin-right:0}}.navbar__icon--app{cursor:pointer;height:auto;margin-left:12px;width:20px}@media only screen and (max-width:879px){.navbar__icon--app{margin-right:0}}.navbar__cart-icon{position:relative}.navbar__cart-count{align-items:center;background-color:#000;border-radius:50%;bottom:50%;color:#fff;display:flex;font-size:13px;height:20px;justify-content:center;left:100%;position:absolute;width:20px}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;justify-content:space-between;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{font-size:14px;font-weight:700;line-height:20px;text-transform:uppercase}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{align-items:center;display:flex;font-size:14px;font-weight:700;justify-content:center;line-height:20px;text-transform:uppercase}.side-nav__menu-icon{display:flex;height:25px;margin-right:10px;width:25px}.side-nav__menu-divider{margin-bottom:40px}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}.stores-dropdown{align-items:flex-start;display:flex;font-family:Martel Sans;gap:20px;margin-left:auto;margin-right:auto;max-width:1280px;overflow-x:auto;padding:20px 15px}.stores-dropdown__image{height:200px;-o-object-fit:cover;object-fit:cover;width:100%}.stores-dropdown__store-details{flex-basis:20%}.stores-dropdown__title{font-family:El Messiri}.stores-dropdown__main-title,.stores-dropdown__title{font-size:16px;font-weight:400;letter-spacing:3px;margin-top:20px}.stores-dropdown__main-title{font-weight:700;margin-bottom:10px}.stores-dropdown__open-days{font-size:12px;font-weight:700;line-height:20px}.stores-dropdown__open-hours{font-size:12px;font-weight:400;line-height:20px}.stores-dropdown__queries-title{font-family:El Messiri;font-size:16px;font-weight:400;letter-spacing:3px}.stores-dropdown__contact-details{font-size:16px;font-weight:700}.stores-dropdown__view-more{cursor:pointer;font-size:14px;font-weight:400;margin-top:10px;text-transform:capitalize}.dropdown{display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:1280px;min-height:500px;overflow-x:auto;padding:20px 0}.dropdown__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center;min-height:300px}.dropdown__column{flex:1;padding-left:12px}.dropdown__column:nth-child(2){flex:2}.dropdown__title{font-family:El Messiri;font-size:16px;font-weight:700;letter-spacing:3px;line-height:1;margin-bottom:20px;text-transform:uppercase}.dropdown__elements{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:800px;overflow-y:auto}.dropdown__brand-elements{-moz-column-count:3;column-count:3;max-height:800px}.dropdown__brand-element{cursor:pointer;margin-bottom:10px}.dropdown__element{flex-basis:33.33%;font-family:Martel Sans;font-size:14px;font-weight:400;margin-bottom:10px;text-transform:capitalize}.cover-spinner{align-items:center;background-color:hsla(0,0%,100%,.7);display:flex;height:100%;justify-content:center;min-height:400px;position:relative;top:50%;width:100%;z-index:9999}.cover-spinner:after{animation:spin 1.5s linear infinite;border:4px dotted #000;border-radius:50%;border-top-color:transparent;content:"";display:block;height:40px;position:absolute;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
package/build/bundle.js CHANGED
@@ -8129,7 +8129,7 @@
8129
8129
  var Clothing = (function (props) {
8130
8130
  return /*#__PURE__*/React__default.createElement("svg", _extends({
8131
8131
  version: "1.1",
8132
- id: "Layer_1",
8132
+ id: "svg-clothing",
8133
8133
  xmlns: "http://www.w3.org/2000/svg",
8134
8134
  xmlnsXlink: "http://www.w3.org/1999/xlink",
8135
8135
  x: "0px",
@@ -8140,7 +8140,8 @@
8140
8140
  className: "st0",
8141
8141
  cx: "42.6",
8142
8142
  cy: "42.6",
8143
- r: "42.6"
8143
+ r: "42.6",
8144
+ fill: "#fff"
8144
8145
  }), /*#__PURE__*/React__default.createElement("path", {
8145
8146
  d: "M69.4,58.9C69,56.7,68,55,66.2,53.6l-4.4-3.3c-4.4-3.3-8.8-6.5-13.2-9.8c-0.6-0.4-1.3-0.8-2.3-1.2l-0.1,0 c-0.6-0.2-0.6-0.2-0.7-1c0-0.6,0.2-0.9,0.7-1.1c3-1.5,4.6-4.7,4.2-8c-0.5-3.6-3.4-6.4-7-6.7c-3.5-0.4-6.9,1.8-8.1,5.2 c-0.5,1.5,0.1,3.1,1.6,3.6c1.5,0.6,3.1-0.1,3.8-1.6l0.1-0.2c0-0.1,0.1-0.2,0.1-0.3c0.4-0.9,1.4-1.3,2.3-1.1c1,0.2,1.7,1,1.7,2 c0,1.1-0.6,1.8-1.6,2.2c-2.1,0.7-3.3,2.4-3.3,4.6v0.5c0,0.5,0,1.1,0,1.7v0.1c0,0,0,0-0.1,0c-1,0.2-2,0.7-2.9,1.4L19,53.7 c-1.7,1.3-2.7,2.9-3.1,4.8c-0.2,1-0.2,2-0.2,3c0,0.4,0.3,1,0.7,1.2c0.4,0.2,1,0,1.3-0.1c0.6-0.3,1.1-0.7,1.6-1.1 c0.2-0.2,0.5-0.3,0.9-0.3h5.2c12.5,0,25.4,0,38,0h0c1.8,0,2.9,0.4,3.9,1.2c0.2,0.2,0.6,0.5,1,0.5h0c0.4,0,0.8-0.3,1.1-0.7l0.1-0.1 v-2.9L69.4,58.9z M42.2,36.3c0.1-0.9,0.6-1.5,1.6-1.8c2-0.6,3.2-2.2,3.3-4.1c0.1-2.2-1.4-4.1-3.5-4.6c-2.2-0.5-4.3,0.6-5.2,2.7 l0,0.1c0,0,0,0.1,0,0.1c-0.1,0.3-0.4,0.4-0.7,0.3c-0.1-0.1-0.3-0.1-0.2-0.6c0.5-1.5,1.7-2.7,3.3-3.3c1.6-0.6,3.3-0.4,4.7,0.5 c1.6,1,2.5,2.8,2.5,4.7c0,1.9-1.1,3.6-2.8,4.6C45.1,35,45,35,44.9,35.1l-0.2,0.1c-1.1,0.6-1.7,1.5-1.7,2.7l0,1h-0.9 c0-0.2,0-0.4,0-0.6C42.1,37.6,42.1,37,42.2,36.3z M47.3,45.3c-1.5-1-3.1-1.6-4.7-1.6c-1.6,0-3.2,0.5-4.6,1.5c-1.9,1.3-3.8,2.7-5.7,4 l-0.7,0.5c-0.3,0.2-0.6,0.6-0.6,0.9c0,0.3,0,0.6,0.2,0.9c0.4,0.5,1.1,0.6,1.7,0.2c0,0,0.1-0.1,0.2-0.1l1.7-1.2 c1.5-1.1,3-2.1,4.5-3.2c0.6-0.4,1.2-0.7,1.8-0.9c1.7-0.5,3.4-0.2,5,0.9c2.9,2.1,5.8,4.1,8.7,6.2l3.1,2.2l4.2,3.1H23.3l3.4-2.5l2-1.5 l0,0l1.1-0.8c0.1,0,0.1-0.1,0.2-0.1c0.6-0.5,0.7-1.2,0.3-1.7c-0.4-0.5-1.1-0.6-1.7-0.2c-0.4,0.2-0.7,0.5-1,0.7l-9.4,6.7 c0.1-1,0.5-1.9,1.1-2.7c0.3-0.4,0.7-0.8,1.1-1.1c4-3,8-5.9,12-8.9l5.7-4.2c1.1-0.8,2.2-1.2,3.5-1.2h0.7c0.7,0,1.5,0,2.2,0.1 c0.8,0.1,1.6,0.4,2.5,1l17.8,13.1c1.3,0.9,2,2.2,2.2,3.7L47.3,45.3z"
8146
8147
  }), /*#__PURE__*/React__default.createElement("path", {
@@ -14400,6 +14401,133 @@
14400
14401
 
14401
14402
  var index$6 = themed(LuxityFooter);
14402
14403
 
14404
+ var cssUnit = {
14405
+ cm: true,
14406
+ mm: true,
14407
+ in: true,
14408
+ px: true,
14409
+ pt: true,
14410
+ pc: true,
14411
+ em: true,
14412
+ ex: true,
14413
+ ch: true,
14414
+ rem: true,
14415
+ vw: true,
14416
+ vh: true,
14417
+ vmin: true,
14418
+ vmax: true,
14419
+ "%": true,
14420
+ };
14421
+ /**
14422
+ * If size is a number, append px to the value as default unit.
14423
+ * If size is a string, validate against list of valid units.
14424
+ * If unit is valid, return size as is.
14425
+ * If unit is invalid, console warn issue, replace with px as the unit.
14426
+ *
14427
+ * @param {(number | string)} size
14428
+ * @return {LengthObject} LengthObject
14429
+ */
14430
+ function parseLengthAndUnit(size) {
14431
+ if (typeof size === "number") {
14432
+ return {
14433
+ value: size,
14434
+ unit: "px",
14435
+ };
14436
+ }
14437
+ var value;
14438
+ var valueString = (size.match(/^[0-9.]*/) || "").toString();
14439
+ if (valueString.includes(".")) {
14440
+ value = parseFloat(valueString);
14441
+ }
14442
+ else {
14443
+ value = parseInt(valueString, 10);
14444
+ }
14445
+ var unit = (size.match(/[^0-9]*$/) || "").toString();
14446
+ if (cssUnit[unit]) {
14447
+ return {
14448
+ value: value,
14449
+ unit: unit,
14450
+ };
14451
+ }
14452
+ console.warn("React Spinners: ".concat(size, " is not a valid css value. Defaulting to ").concat(value, "px."));
14453
+ return {
14454
+ value: value,
14455
+ unit: "px",
14456
+ };
14457
+ }
14458
+ /**
14459
+ * Take value as an input and return valid css value
14460
+ *
14461
+ * @param {(number | string)} value
14462
+ * @return {string} valid css value
14463
+ */
14464
+ function cssValue(value) {
14465
+ var lengthWithunit = parseLengthAndUnit(value);
14466
+ return "".concat(lengthWithunit.value).concat(lengthWithunit.unit);
14467
+ }
14468
+
14469
+ var createAnimation = function (loaderName, frames, suffix) {
14470
+ var animationName = "react-spinners-".concat(loaderName, "-").concat(suffix);
14471
+ if (typeof window == "undefined" || !window.document) {
14472
+ return animationName;
14473
+ }
14474
+ var styleEl = document.createElement("style");
14475
+ document.head.appendChild(styleEl);
14476
+ var styleSheet = styleEl.sheet;
14477
+ var keyFrames = "\n @keyframes ".concat(animationName, " {\n ").concat(frames, "\n }\n ");
14478
+ if (styleSheet) {
14479
+ styleSheet.insertRule(keyFrames, 0);
14480
+ }
14481
+ return animationName;
14482
+ };
14483
+
14484
+ var __assign = (undefined && undefined.__assign) || function () {
14485
+ __assign = Object.assign || function(t) {
14486
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
14487
+ s = arguments[i];
14488
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
14489
+ t[p] = s[p];
14490
+ }
14491
+ return t;
14492
+ };
14493
+ return __assign.apply(this, arguments);
14494
+ };
14495
+ var __rest = (undefined && undefined.__rest) || function (s, e) {
14496
+ var t = {};
14497
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14498
+ t[p] = s[p];
14499
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
14500
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
14501
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
14502
+ t[p[i]] = s[p[i]];
14503
+ }
14504
+ return t;
14505
+ };
14506
+ var beat = createAnimation("BeatLoader", "50% {transform: scale(0.75);opacity: 0.2} 100% {transform: scale(1);opacity: 1}", "beat");
14507
+ function BeatLoader(_a) {
14508
+ var _b = _a.loading, loading = _b === void 0 ? true : _b, _c = _a.color, color = _c === void 0 ? "#000000" : _c, _d = _a.speedMultiplier, speedMultiplier = _d === void 0 ? 1 : _d, _e = _a.cssOverride, cssOverride = _e === void 0 ? {} : _e, _f = _a.size, size = _f === void 0 ? 15 : _f, _g = _a.margin, margin = _g === void 0 ? 2 : _g, additionalprops = __rest(_a, ["loading", "color", "speedMultiplier", "cssOverride", "size", "margin"]);
14509
+ var wrapper = __assign({ display: "inherit" }, cssOverride);
14510
+ var style = function (i) {
14511
+ return {
14512
+ display: "inline-block",
14513
+ backgroundColor: color,
14514
+ width: cssValue(size),
14515
+ height: cssValue(size),
14516
+ margin: cssValue(margin),
14517
+ borderRadius: "100%",
14518
+ animation: "".concat(beat, " ").concat(0.7 / speedMultiplier, "s ").concat(i % 2 ? "0s" : "".concat(0.35 / speedMultiplier, "s"), " infinite linear"),
14519
+ animationFillMode: "both",
14520
+ };
14521
+ };
14522
+ if (!loading) {
14523
+ return null;
14524
+ }
14525
+ return (React.createElement("span", __assign({ style: wrapper }, additionalprops),
14526
+ React.createElement("span", { style: style(1) }),
14527
+ React.createElement("span", { style: style(2) }),
14528
+ React.createElement("span", { style: style(3) })));
14529
+ }
14530
+
14403
14531
  var getBrands = function getBrands() {
14404
14532
  return {
14405
14533
  query: "{\n latest_arrivals: luxity_brands(has_products: true, limit: 1000, page: 1, sort_by: \"name|asc\") {data {id name slug}}\n bags: luxity_brands(has_products: true, limit: 1000, page: 1, category_type: BAGS, sort_by: \"name|asc\") {data {id name slug}}\n shoes: luxity_brands(has_products: true, limit: 1000, page: 1, category_type: SHOES, sort_by: \"name|asc\") {data {id name slug}}\n apparel: luxity_brands(has_products: true, limit: 1000, page: 1, category_type: APPAREL, sort_by: \"name|asc\") {data {id name slug}}\n accessories: luxity_brands(has_products: true, limit: 1000, page: 1, category_type: ACCESSORIES, sort_by: \"name|asc\") {data {id name slug}}\n watches: luxity_brands(has_products: true, limit: 1000, page: 1, category_type: WATCHES, sort_by: \"name|asc\") {data {id name slug}}\n accessories_categories: luxity_accessories_categories_list { id name slug }\n apparel_styles: luxity_apparel_styles_list { name slug }\n } "
@@ -14552,22 +14680,21 @@
14552
14680
 
14553
14681
  var SearchResults = function SearchResults(_ref) {
14554
14682
  var searchValue = _ref.searchValue,
14555
- searchLoading = _ref.searchLoading,
14556
14683
  searchResults = _ref.searchResults,
14557
14684
  onViewAll = _ref.onViewAll,
14558
14685
  searchResultsRef = _ref.searchResultsRef,
14559
14686
  onSearchSubmit = _ref.onSearchSubmit,
14560
14687
  setSearchValue = _ref.setSearchValue;
14561
14688
 
14562
- if (searchValue.trim() !== '') {
14689
+ if (searchValue.trim().length >= 3) {
14690
+ if (searchResults.brands.length === 0 && searchResults.products.length === 0) {
14691
+ return null;
14692
+ }
14693
+
14563
14694
  return /*#__PURE__*/React__default.createElement("div", {
14564
14695
  className: "z-50 absolute md:top-14 font-body bg-white w-full lg:w-1/2 flex flex-col md:flex-row md:divide-x divide-black lg:mt-1 shadow-md",
14565
14696
  ref: searchResultsRef
14566
- }, searchLoading ? /*#__PURE__*/React__default.createElement("div", {
14567
- className: "w-full py-20 flex items-center justify-center"
14568
- }, "Searching ...") : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, searchResults.brands.length === 0 && searchResults.products.length === 0 ? /*#__PURE__*/React__default.createElement("div", {
14569
- className: "w-full py-20 flex items-center justify-center"
14570
- }, "No products found") : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
14697
+ }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
14571
14698
  className: "w-full lg:w-1/3"
14572
14699
  }, /*#__PURE__*/React__default.createElement("p", {
14573
14700
  className: "font-bold p-2 px-4"
@@ -14598,7 +14725,7 @@
14598
14725
  setSearchValue('');
14599
14726
  },
14600
14727
  className: "bottom-0 mt-5 py-3 w-full font-body text-center text-white uppercase bg-black hover:bg-gray-950 border border-black transition-all ease-in-out duration-300 cursor-pointer"
14601
- }, "View all")))));
14728
+ }, "View all"))));
14602
14729
  }
14603
14730
 
14604
14731
  return null;
@@ -14665,7 +14792,7 @@
14665
14792
  hasError = _useState8[0],
14666
14793
  setHasError = _useState8[1];
14667
14794
 
14668
- var _useState9 = React.useState(true),
14795
+ var _useState9 = React.useState(false),
14669
14796
  _useState10 = _slicedToArray(_useState9, 2),
14670
14797
  searchLoading = _useState10[0],
14671
14798
  setSearchLoading = _useState10[1];
@@ -14679,6 +14806,50 @@
14679
14806
  setSearchResults = _useState12[1];
14680
14807
 
14681
14808
  var searchResultsRef = React.useRef(null);
14809
+
14810
+ var debounce = function debounce(func, wait) {
14811
+ var timeout;
14812
+ return function executedFunction() {
14813
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
14814
+ args[_key] = arguments[_key];
14815
+ }
14816
+
14817
+ var later = function later() {
14818
+ clearTimeout(timeout);
14819
+ func.apply(void 0, args);
14820
+ };
14821
+
14822
+ clearTimeout(timeout);
14823
+ timeout = setTimeout(later, wait);
14824
+ };
14825
+ };
14826
+
14827
+ var debouncedSearch = React.useCallback(debounce(function (nextValue) {
14828
+ setSearchLoading(true);
14829
+ axios.post(endpoint, searchProducts(nextValue, 6)).then(function (response) {
14830
+ setSearchResults(response.data.data.luxity_products_serach_results);
14831
+ var ids = response.data.data.luxity_products_serach_results.luxity_product_ids;
14832
+ onProductIdsReceived(ids);
14833
+ setSearchLoading(false);
14834
+ }).catch(function () {
14835
+ setSearchLoading(false);
14836
+ });
14837
+ }, 500), [endpoint]);
14838
+
14839
+ var handleChange = function handleChange(event) {
14840
+ var value = event.target.value;
14841
+ setSearchValue(value);
14842
+
14843
+ if (value.trim().length >= 3) {
14844
+ debouncedSearch(value);
14845
+ } else {
14846
+ setSearchResults({
14847
+ brands: [],
14848
+ products: []
14849
+ });
14850
+ }
14851
+ };
14852
+
14682
14853
  React.useEffect(function () {
14683
14854
  var handleClickOutside = function handleClickOutside(event) {
14684
14855
  if (searchResultsRef.current && !searchResultsRef.current.contains(event.target)) {
@@ -14730,30 +14901,6 @@
14730
14901
  return setHasError(true);
14731
14902
  });
14732
14903
  }, [endpoint]);
14733
-
14734
- var handleChange = function handleChange(event) {
14735
- var value = event.target.value;
14736
- setSearchValue(value);
14737
- onSearch(value);
14738
-
14739
- if (value.trim() !== '') {
14740
- setSearchLoading(true);
14741
- axios.post(endpoint, searchProducts(value, 6)).then(function (response) {
14742
- setSearchResults(response.data.data.luxity_products_serach_results);
14743
- var ids = response.data.data.luxity_products_serach_results.luxity_product_ids;
14744
- onProductIdsReceived(ids);
14745
- setSearchLoading(false);
14746
- }).catch(function () {
14747
- setSearchLoading(false);
14748
- });
14749
- } else {
14750
- setSearchResults({
14751
- brands: [],
14752
- products: []
14753
- });
14754
- }
14755
- };
14756
-
14757
14904
  return /*#__PURE__*/React__default.createElement("div", {
14758
14905
  className: "navbar"
14759
14906
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -14785,9 +14932,14 @@
14785
14932
  onChange: handleChange,
14786
14933
  onKeyDown: handleKeyDown,
14787
14934
  onClick: onSearch
14935
+ }), searchLoading && /*#__PURE__*/React__default.createElement(BeatLoader, {
14936
+ color: "#000000",
14937
+ loading: searchLoading,
14938
+ size: 5,
14939
+ "aria-label": "Loading Spinner",
14940
+ "data-testid": "loader"
14788
14941
  })), /*#__PURE__*/React__default.createElement(SearchResults, {
14789
14942
  searchValue: searchValue,
14790
- searchLoading: searchLoading,
14791
14943
  searchResults: searchResults,
14792
14944
  onViewAll: function onViewAll() {
14793
14945
  onSearchSubmit(searchValue);
@@ -15043,7 +15195,7 @@
15043
15195
  className: "side-nav__elements"
15044
15196
  }, categoryElements.map(function (category) {
15045
15197
  return /*#__PURE__*/React__default.createElement("a", {
15046
- href: "".concat(productUrl, "/").concat(category.slug),
15198
+ href: "".concat(productUrl, "/").concat(['new', 'apparel', 'accessories'].includes(categorySlug) ? category.slug : "".concat(categorySlug, "/").concat(category.slug)),
15047
15199
  className: "side-nav__element"
15048
15200
  }, category.name.toLowerCase());
15049
15201
  })), /*#__PURE__*/React__default.createElement("br", null), /*#__PURE__*/React__default.createElement("div", {
@@ -15055,7 +15207,7 @@
15055
15207
  className: "side-nav__element"
15056
15208
  }, "All Brands"), !!brandsList.length && brandsList.map(function (brand) {
15057
15209
  return /*#__PURE__*/React__default.createElement("a", {
15058
- href: "".concat(productUrl, "/").concat(categorySlug, "/").concat(brand.slug),
15210
+ href: "".concat(productUrl, "/").concat(categorySlug === 'new' ? 'brands' : categorySlug, "/").concat(brand.slug),
15059
15211
  className: "side-nav__element"
15060
15212
  }, brand.name);
15061
15213
  })))));
@@ -15568,7 +15720,6 @@
15568
15720
  var logoSrc = _ref.logoSrc,
15569
15721
  menuIcon = _ref.menuIcon,
15570
15722
  inputSearchIcon = _ref.inputSearchIcon,
15571
- onSearch = _ref.onSearch,
15572
15723
  onCartClick = _ref.onCartClick,
15573
15724
  cartIcon = _ref.cartIcon,
15574
15725
  cartCount = _ref.cartCount,
@@ -15620,7 +15771,7 @@
15620
15771
  showSideNav = _useState6[0],
15621
15772
  setShowSideNav = _useState6[1];
15622
15773
 
15623
- var _useState7 = React.useState(true),
15774
+ var _useState7 = React.useState(false),
15624
15775
  _useState8 = _slicedToArray(_useState7, 2),
15625
15776
  searchLoading = _useState8[0],
15626
15777
  setSearchLoading = _useState8[1];
@@ -15633,21 +15784,41 @@
15633
15784
  searchResults = _useState10[0],
15634
15785
  setSearchResults = _useState10[1];
15635
15786
 
15787
+ var debounce = function debounce(func, wait) {
15788
+ var timeout;
15789
+ return function executedFunction() {
15790
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
15791
+ args[_key] = arguments[_key];
15792
+ }
15793
+
15794
+ var later = function later() {
15795
+ clearTimeout(timeout);
15796
+ func.apply(void 0, args);
15797
+ };
15798
+
15799
+ clearTimeout(timeout);
15800
+ timeout = setTimeout(later, wait);
15801
+ };
15802
+ };
15803
+
15804
+ var debouncedSearch = React.useCallback(debounce(function (nextValue) {
15805
+ setSearchLoading(true);
15806
+ axios.post(endpoint, searchProducts(nextValue, 6)).then(function (response) {
15807
+ setSearchResults(response.data.data.luxity_products_serach_results);
15808
+ var ids = response.data.data.luxity_products_serach_results.luxity_product_ids;
15809
+ onProductIdsReceived(ids);
15810
+ setSearchLoading(false);
15811
+ }).catch(function () {
15812
+ setSearchLoading(false);
15813
+ });
15814
+ }, 500), [endpoint]);
15815
+
15636
15816
  var handleChange = function handleChange(event) {
15637
15817
  var value = event.target.value;
15638
15818
  setSearchValue(value);
15639
- onSearch(value);
15640
-
15641
- if (value.trim() !== '') {
15642
- setSearchLoading(true);
15643
- axios.post(endpoint, searchProducts(value, 6)).then(function (response) {
15644
- setSearchResults(response.data.data.luxity_products_serach_results);
15645
- var ids = response.data.data.luxity_products_serach_results.luxity_product_ids;
15646
- onProductIdsReceived(ids);
15647
- setSearchLoading(false);
15648
- }).catch(function () {
15649
- setSearchLoading(false);
15650
- });
15819
+
15820
+ if (value.trim().length >= 3) {
15821
+ debouncedSearch(value);
15651
15822
  } else {
15652
15823
  setSearchResults({
15653
15824
  brands: [],
@@ -15791,6 +15962,12 @@
15791
15962
  value: searchValue,
15792
15963
  onChange: handleChange,
15793
15964
  onKeyDown: handleKeyDown
15965
+ }), searchLoading && /*#__PURE__*/React__default.createElement(BeatLoader, {
15966
+ color: "#000000",
15967
+ loading: searchLoading,
15968
+ size: 5,
15969
+ "aria-label": "Loading Spinner",
15970
+ "data-testid": "loader"
15794
15971
  })), /*#__PURE__*/React__default.createElement("button", {
15795
15972
  type: "button",
15796
15973
  onClick: onSearchClick
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonlineza/luxity-lib",
3
- "version": "2.32.7",
3
+ "version": "2.32.9",
4
4
  "scripts": {
5
5
  "start": "start-storybook -p 9001 -c .storybook -s ./public",
6
6
  "clean": "rimraf ./build/*.*",
@@ -31,6 +31,7 @@
31
31
  "dependencies": {
32
32
  "@bonlineza/b-lib": "^4.0.0",
33
33
  "js-cookie": "^2.2.0",
34
+ "lodash.debounce": "^4.0.8",
34
35
  "numeral": "^2.0.6",
35
36
  "polished": "^3.6.5",
36
37
  "prop-types": "^15.7.2",
@@ -42,6 +43,7 @@
42
43
  "react-is": "^16.13.1",
43
44
  "react-notify-toast": "^0.5.1",
44
45
  "react-select": "^2.3.0",
46
+ "react-spinners": "^0.13.8",
45
47
  "regenerator-runtime": "^0.13.7",
46
48
  "styled-system": "^5.1.5"
47
49
  },
package/svg/Clothing.js CHANGED
@@ -26,7 +26,7 @@
26
26
  var Clothing = (function (props) {
27
27
  return /*#__PURE__*/React.createElement("svg", _extends({
28
28
  version: "1.1",
29
- id: "Layer_1",
29
+ id: "svg-clothing",
30
30
  xmlns: "http://www.w3.org/2000/svg",
31
31
  xmlnsXlink: "http://www.w3.org/1999/xlink",
32
32
  x: "0px",
@@ -37,7 +37,8 @@
37
37
  className: "st0",
38
38
  cx: "42.6",
39
39
  cy: "42.6",
40
- r: "42.6"
40
+ r: "42.6",
41
+ fill: "#fff"
41
42
  }), /*#__PURE__*/React.createElement("path", {
42
43
  d: "M69.4,58.9C69,56.7,68,55,66.2,53.6l-4.4-3.3c-4.4-3.3-8.8-6.5-13.2-9.8c-0.6-0.4-1.3-0.8-2.3-1.2l-0.1,0 c-0.6-0.2-0.6-0.2-0.7-1c0-0.6,0.2-0.9,0.7-1.1c3-1.5,4.6-4.7,4.2-8c-0.5-3.6-3.4-6.4-7-6.7c-3.5-0.4-6.9,1.8-8.1,5.2 c-0.5,1.5,0.1,3.1,1.6,3.6c1.5,0.6,3.1-0.1,3.8-1.6l0.1-0.2c0-0.1,0.1-0.2,0.1-0.3c0.4-0.9,1.4-1.3,2.3-1.1c1,0.2,1.7,1,1.7,2 c0,1.1-0.6,1.8-1.6,2.2c-2.1,0.7-3.3,2.4-3.3,4.6v0.5c0,0.5,0,1.1,0,1.7v0.1c0,0,0,0-0.1,0c-1,0.2-2,0.7-2.9,1.4L19,53.7 c-1.7,1.3-2.7,2.9-3.1,4.8c-0.2,1-0.2,2-0.2,3c0,0.4,0.3,1,0.7,1.2c0.4,0.2,1,0,1.3-0.1c0.6-0.3,1.1-0.7,1.6-1.1 c0.2-0.2,0.5-0.3,0.9-0.3h5.2c12.5,0,25.4,0,38,0h0c1.8,0,2.9,0.4,3.9,1.2c0.2,0.2,0.6,0.5,1,0.5h0c0.4,0,0.8-0.3,1.1-0.7l0.1-0.1 v-2.9L69.4,58.9z M42.2,36.3c0.1-0.9,0.6-1.5,1.6-1.8c2-0.6,3.2-2.2,3.3-4.1c0.1-2.2-1.4-4.1-3.5-4.6c-2.2-0.5-4.3,0.6-5.2,2.7 l0,0.1c0,0,0,0.1,0,0.1c-0.1,0.3-0.4,0.4-0.7,0.3c-0.1-0.1-0.3-0.1-0.2-0.6c0.5-1.5,1.7-2.7,3.3-3.3c1.6-0.6,3.3-0.4,4.7,0.5 c1.6,1,2.5,2.8,2.5,4.7c0,1.9-1.1,3.6-2.8,4.6C45.1,35,45,35,44.9,35.1l-0.2,0.1c-1.1,0.6-1.7,1.5-1.7,2.7l0,1h-0.9 c0-0.2,0-0.4,0-0.6C42.1,37.6,42.1,37,42.2,36.3z M47.3,45.3c-1.5-1-3.1-1.6-4.7-1.6c-1.6,0-3.2,0.5-4.6,1.5c-1.9,1.3-3.8,2.7-5.7,4 l-0.7,0.5c-0.3,0.2-0.6,0.6-0.6,0.9c0,0.3,0,0.6,0.2,0.9c0.4,0.5,1.1,0.6,1.7,0.2c0,0,0.1-0.1,0.2-0.1l1.7-1.2 c1.5-1.1,3-2.1,4.5-3.2c0.6-0.4,1.2-0.7,1.8-0.9c1.7-0.5,3.4-0.2,5,0.9c2.9,2.1,5.8,4.1,8.7,6.2l3.1,2.2l4.2,3.1H23.3l3.4-2.5l2-1.5 l0,0l1.1-0.8c0.1,0,0.1-0.1,0.2-0.1c0.6-0.5,0.7-1.2,0.3-1.7c-0.4-0.5-1.1-0.6-1.7-0.2c-0.4,0.2-0.7,0.5-1,0.7l-9.4,6.7 c0.1-1,0.5-1.9,1.1-2.7c0.3-0.4,0.7-0.8,1.1-1.1c4-3,8-5.9,12-8.9l5.7-4.2c1.1-0.8,2.2-1.2,3.5-1.2h0.7c0.7,0,1.5,0,2.2,0.1 c0.8,0.1,1.6,0.4,2.5,1l17.8,13.1c1.3,0.9,2,2.2,2.2,3.7L47.3,45.3z"
43
44
  }), /*#__PURE__*/React.createElement("path", {