@bonlineza/luxity-lib 2.32.6 → 2.32.8
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/LuxityAppSideNav.js +186 -0
- package/LuxityDesktopHeader.js +185 -34
- package/LuxityMobileHeader.js +180 -29
- package/LuxitySideNav.js +7 -7
- package/build/bundle.css +1 -1
- package/build/bundle.js +231 -56
- package/package.json +3 -1
- package/postcss.config.js +6 -0
- package/build/.gitignore +0 -3
- package/build/.npmignore +0 -0
package/build/bundle.js
CHANGED
|
@@ -14002,7 +14002,6 @@
|
|
|
14002
14002
|
_formControl.current.formState = getProxyFormState(formState, control);
|
|
14003
14003
|
return _formControl.current;
|
|
14004
14004
|
}
|
|
14005
|
-
//# sourceMappingURL=index.esm.mjs.map
|
|
14006
14005
|
|
|
14007
14006
|
var _excluded$8 = ["ref"];
|
|
14008
14007
|
|
|
@@ -14401,6 +14400,133 @@
|
|
|
14401
14400
|
|
|
14402
14401
|
var index$6 = themed(LuxityFooter);
|
|
14403
14402
|
|
|
14403
|
+
var cssUnit = {
|
|
14404
|
+
cm: true,
|
|
14405
|
+
mm: true,
|
|
14406
|
+
in: true,
|
|
14407
|
+
px: true,
|
|
14408
|
+
pt: true,
|
|
14409
|
+
pc: true,
|
|
14410
|
+
em: true,
|
|
14411
|
+
ex: true,
|
|
14412
|
+
ch: true,
|
|
14413
|
+
rem: true,
|
|
14414
|
+
vw: true,
|
|
14415
|
+
vh: true,
|
|
14416
|
+
vmin: true,
|
|
14417
|
+
vmax: true,
|
|
14418
|
+
"%": true,
|
|
14419
|
+
};
|
|
14420
|
+
/**
|
|
14421
|
+
* If size is a number, append px to the value as default unit.
|
|
14422
|
+
* If size is a string, validate against list of valid units.
|
|
14423
|
+
* If unit is valid, return size as is.
|
|
14424
|
+
* If unit is invalid, console warn issue, replace with px as the unit.
|
|
14425
|
+
*
|
|
14426
|
+
* @param {(number | string)} size
|
|
14427
|
+
* @return {LengthObject} LengthObject
|
|
14428
|
+
*/
|
|
14429
|
+
function parseLengthAndUnit(size) {
|
|
14430
|
+
if (typeof size === "number") {
|
|
14431
|
+
return {
|
|
14432
|
+
value: size,
|
|
14433
|
+
unit: "px",
|
|
14434
|
+
};
|
|
14435
|
+
}
|
|
14436
|
+
var value;
|
|
14437
|
+
var valueString = (size.match(/^[0-9.]*/) || "").toString();
|
|
14438
|
+
if (valueString.includes(".")) {
|
|
14439
|
+
value = parseFloat(valueString);
|
|
14440
|
+
}
|
|
14441
|
+
else {
|
|
14442
|
+
value = parseInt(valueString, 10);
|
|
14443
|
+
}
|
|
14444
|
+
var unit = (size.match(/[^0-9]*$/) || "").toString();
|
|
14445
|
+
if (cssUnit[unit]) {
|
|
14446
|
+
return {
|
|
14447
|
+
value: value,
|
|
14448
|
+
unit: unit,
|
|
14449
|
+
};
|
|
14450
|
+
}
|
|
14451
|
+
console.warn("React Spinners: ".concat(size, " is not a valid css value. Defaulting to ").concat(value, "px."));
|
|
14452
|
+
return {
|
|
14453
|
+
value: value,
|
|
14454
|
+
unit: "px",
|
|
14455
|
+
};
|
|
14456
|
+
}
|
|
14457
|
+
/**
|
|
14458
|
+
* Take value as an input and return valid css value
|
|
14459
|
+
*
|
|
14460
|
+
* @param {(number | string)} value
|
|
14461
|
+
* @return {string} valid css value
|
|
14462
|
+
*/
|
|
14463
|
+
function cssValue(value) {
|
|
14464
|
+
var lengthWithunit = parseLengthAndUnit(value);
|
|
14465
|
+
return "".concat(lengthWithunit.value).concat(lengthWithunit.unit);
|
|
14466
|
+
}
|
|
14467
|
+
|
|
14468
|
+
var createAnimation = function (loaderName, frames, suffix) {
|
|
14469
|
+
var animationName = "react-spinners-".concat(loaderName, "-").concat(suffix);
|
|
14470
|
+
if (typeof window == "undefined" || !window.document) {
|
|
14471
|
+
return animationName;
|
|
14472
|
+
}
|
|
14473
|
+
var styleEl = document.createElement("style");
|
|
14474
|
+
document.head.appendChild(styleEl);
|
|
14475
|
+
var styleSheet = styleEl.sheet;
|
|
14476
|
+
var keyFrames = "\n @keyframes ".concat(animationName, " {\n ").concat(frames, "\n }\n ");
|
|
14477
|
+
if (styleSheet) {
|
|
14478
|
+
styleSheet.insertRule(keyFrames, 0);
|
|
14479
|
+
}
|
|
14480
|
+
return animationName;
|
|
14481
|
+
};
|
|
14482
|
+
|
|
14483
|
+
var __assign = (undefined && undefined.__assign) || function () {
|
|
14484
|
+
__assign = Object.assign || function(t) {
|
|
14485
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
14486
|
+
s = arguments[i];
|
|
14487
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
14488
|
+
t[p] = s[p];
|
|
14489
|
+
}
|
|
14490
|
+
return t;
|
|
14491
|
+
};
|
|
14492
|
+
return __assign.apply(this, arguments);
|
|
14493
|
+
};
|
|
14494
|
+
var __rest = (undefined && undefined.__rest) || function (s, e) {
|
|
14495
|
+
var t = {};
|
|
14496
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14497
|
+
t[p] = s[p];
|
|
14498
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
14499
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
14500
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
14501
|
+
t[p[i]] = s[p[i]];
|
|
14502
|
+
}
|
|
14503
|
+
return t;
|
|
14504
|
+
};
|
|
14505
|
+
var beat = createAnimation("BeatLoader", "50% {transform: scale(0.75);opacity: 0.2} 100% {transform: scale(1);opacity: 1}", "beat");
|
|
14506
|
+
function BeatLoader(_a) {
|
|
14507
|
+
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"]);
|
|
14508
|
+
var wrapper = __assign({ display: "inherit" }, cssOverride);
|
|
14509
|
+
var style = function (i) {
|
|
14510
|
+
return {
|
|
14511
|
+
display: "inline-block",
|
|
14512
|
+
backgroundColor: color,
|
|
14513
|
+
width: cssValue(size),
|
|
14514
|
+
height: cssValue(size),
|
|
14515
|
+
margin: cssValue(margin),
|
|
14516
|
+
borderRadius: "100%",
|
|
14517
|
+
animation: "".concat(beat, " ").concat(0.7 / speedMultiplier, "s ").concat(i % 2 ? "0s" : "".concat(0.35 / speedMultiplier, "s"), " infinite linear"),
|
|
14518
|
+
animationFillMode: "both",
|
|
14519
|
+
};
|
|
14520
|
+
};
|
|
14521
|
+
if (!loading) {
|
|
14522
|
+
return null;
|
|
14523
|
+
}
|
|
14524
|
+
return (React.createElement("span", __assign({ style: wrapper }, additionalprops),
|
|
14525
|
+
React.createElement("span", { style: style(1) }),
|
|
14526
|
+
React.createElement("span", { style: style(2) }),
|
|
14527
|
+
React.createElement("span", { style: style(3) })));
|
|
14528
|
+
}
|
|
14529
|
+
|
|
14404
14530
|
var getBrands = function getBrands() {
|
|
14405
14531
|
return {
|
|
14406
14532
|
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 } "
|
|
@@ -14553,22 +14679,21 @@
|
|
|
14553
14679
|
|
|
14554
14680
|
var SearchResults = function SearchResults(_ref) {
|
|
14555
14681
|
var searchValue = _ref.searchValue,
|
|
14556
|
-
searchLoading = _ref.searchLoading,
|
|
14557
14682
|
searchResults = _ref.searchResults,
|
|
14558
14683
|
onViewAll = _ref.onViewAll,
|
|
14559
14684
|
searchResultsRef = _ref.searchResultsRef,
|
|
14560
14685
|
onSearchSubmit = _ref.onSearchSubmit,
|
|
14561
14686
|
setSearchValue = _ref.setSearchValue;
|
|
14562
14687
|
|
|
14563
|
-
if (searchValue.trim()
|
|
14688
|
+
if (searchValue.trim().length >= 3) {
|
|
14689
|
+
if (searchResults.brands.length === 0 && searchResults.products.length === 0) {
|
|
14690
|
+
return null;
|
|
14691
|
+
}
|
|
14692
|
+
|
|
14564
14693
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
14565
14694
|
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",
|
|
14566
14695
|
ref: searchResultsRef
|
|
14567
|
-
},
|
|
14568
|
-
className: "w-full py-20 flex items-center justify-center"
|
|
14569
|
-
}, "Searching ...") : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, searchResults.brands.length === 0 && searchResults.products.length === 0 ? /*#__PURE__*/React__default.createElement("div", {
|
|
14570
|
-
className: "w-full py-20 flex items-center justify-center"
|
|
14571
|
-
}, "No products found") : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
14696
|
+
}, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
14572
14697
|
className: "w-full lg:w-1/3"
|
|
14573
14698
|
}, /*#__PURE__*/React__default.createElement("p", {
|
|
14574
14699
|
className: "font-bold p-2 px-4"
|
|
@@ -14599,7 +14724,7 @@
|
|
|
14599
14724
|
setSearchValue('');
|
|
14600
14725
|
},
|
|
14601
14726
|
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"
|
|
14602
|
-
}, "View all"))))
|
|
14727
|
+
}, "View all"))));
|
|
14603
14728
|
}
|
|
14604
14729
|
|
|
14605
14730
|
return null;
|
|
@@ -14666,7 +14791,7 @@
|
|
|
14666
14791
|
hasError = _useState8[0],
|
|
14667
14792
|
setHasError = _useState8[1];
|
|
14668
14793
|
|
|
14669
|
-
var _useState9 = React.useState(
|
|
14794
|
+
var _useState9 = React.useState(false),
|
|
14670
14795
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
14671
14796
|
searchLoading = _useState10[0],
|
|
14672
14797
|
setSearchLoading = _useState10[1];
|
|
@@ -14680,6 +14805,50 @@
|
|
|
14680
14805
|
setSearchResults = _useState12[1];
|
|
14681
14806
|
|
|
14682
14807
|
var searchResultsRef = React.useRef(null);
|
|
14808
|
+
|
|
14809
|
+
var debounce = function debounce(func, wait) {
|
|
14810
|
+
var timeout;
|
|
14811
|
+
return function executedFunction() {
|
|
14812
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
14813
|
+
args[_key] = arguments[_key];
|
|
14814
|
+
}
|
|
14815
|
+
|
|
14816
|
+
var later = function later() {
|
|
14817
|
+
clearTimeout(timeout);
|
|
14818
|
+
func.apply(void 0, args);
|
|
14819
|
+
};
|
|
14820
|
+
|
|
14821
|
+
clearTimeout(timeout);
|
|
14822
|
+
timeout = setTimeout(later, wait);
|
|
14823
|
+
};
|
|
14824
|
+
};
|
|
14825
|
+
|
|
14826
|
+
var debouncedSearch = React.useCallback(debounce(function (nextValue) {
|
|
14827
|
+
setSearchLoading(true);
|
|
14828
|
+
axios.post(endpoint, searchProducts(nextValue, 6)).then(function (response) {
|
|
14829
|
+
setSearchResults(response.data.data.luxity_products_serach_results);
|
|
14830
|
+
var ids = response.data.data.luxity_products_serach_results.luxity_product_ids;
|
|
14831
|
+
onProductIdsReceived(ids);
|
|
14832
|
+
setSearchLoading(false);
|
|
14833
|
+
}).catch(function () {
|
|
14834
|
+
setSearchLoading(false);
|
|
14835
|
+
});
|
|
14836
|
+
}, 500), [endpoint]);
|
|
14837
|
+
|
|
14838
|
+
var handleChange = function handleChange(event) {
|
|
14839
|
+
var value = event.target.value;
|
|
14840
|
+
setSearchValue(value);
|
|
14841
|
+
|
|
14842
|
+
if (value.trim().length >= 3) {
|
|
14843
|
+
debouncedSearch(value);
|
|
14844
|
+
} else {
|
|
14845
|
+
setSearchResults({
|
|
14846
|
+
brands: [],
|
|
14847
|
+
products: []
|
|
14848
|
+
});
|
|
14849
|
+
}
|
|
14850
|
+
};
|
|
14851
|
+
|
|
14683
14852
|
React.useEffect(function () {
|
|
14684
14853
|
var handleClickOutside = function handleClickOutside(event) {
|
|
14685
14854
|
if (searchResultsRef.current && !searchResultsRef.current.contains(event.target)) {
|
|
@@ -14731,30 +14900,6 @@
|
|
|
14731
14900
|
return setHasError(true);
|
|
14732
14901
|
});
|
|
14733
14902
|
}, [endpoint]);
|
|
14734
|
-
|
|
14735
|
-
var handleChange = function handleChange(event) {
|
|
14736
|
-
var value = event.target.value;
|
|
14737
|
-
setSearchValue(value);
|
|
14738
|
-
onSearch(value);
|
|
14739
|
-
|
|
14740
|
-
if (value.trim() !== '') {
|
|
14741
|
-
setSearchLoading(true);
|
|
14742
|
-
axios.post(endpoint, searchProducts(value, 6)).then(function (response) {
|
|
14743
|
-
setSearchResults(response.data.data.luxity_products_serach_results);
|
|
14744
|
-
var ids = response.data.data.luxity_products_serach_results.luxity_product_ids;
|
|
14745
|
-
onProductIdsReceived(ids);
|
|
14746
|
-
setSearchLoading(false);
|
|
14747
|
-
}).catch(function () {
|
|
14748
|
-
setSearchLoading(false);
|
|
14749
|
-
});
|
|
14750
|
-
} else {
|
|
14751
|
-
setSearchResults({
|
|
14752
|
-
brands: [],
|
|
14753
|
-
products: []
|
|
14754
|
-
});
|
|
14755
|
-
}
|
|
14756
|
-
};
|
|
14757
|
-
|
|
14758
14903
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
14759
14904
|
className: "navbar"
|
|
14760
14905
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -14786,9 +14931,14 @@
|
|
|
14786
14931
|
onChange: handleChange,
|
|
14787
14932
|
onKeyDown: handleKeyDown,
|
|
14788
14933
|
onClick: onSearch
|
|
14934
|
+
}), searchLoading && /*#__PURE__*/React__default.createElement(BeatLoader, {
|
|
14935
|
+
color: "#000000",
|
|
14936
|
+
loading: searchLoading,
|
|
14937
|
+
size: 5,
|
|
14938
|
+
"aria-label": "Loading Spinner",
|
|
14939
|
+
"data-testid": "loader"
|
|
14789
14940
|
})), /*#__PURE__*/React__default.createElement(SearchResults, {
|
|
14790
14941
|
searchValue: searchValue,
|
|
14791
|
-
searchLoading: searchLoading,
|
|
14792
14942
|
searchResults: searchResults,
|
|
14793
14943
|
onViewAll: function onViewAll() {
|
|
14794
14944
|
onSearchSubmit(searchValue);
|
|
@@ -15044,7 +15194,7 @@
|
|
|
15044
15194
|
className: "side-nav__elements"
|
|
15045
15195
|
}, categoryElements.map(function (category) {
|
|
15046
15196
|
return /*#__PURE__*/React__default.createElement("a", {
|
|
15047
|
-
href: "".concat(productUrl, "/").concat(category.slug),
|
|
15197
|
+
href: "".concat(productUrl, "/").concat(['new', 'apparel', 'accessories'].includes(categorySlug) ? category.slug : "".concat(categorySlug, "/").concat(category.slug)),
|
|
15048
15198
|
className: "side-nav__element"
|
|
15049
15199
|
}, category.name.toLowerCase());
|
|
15050
15200
|
})), /*#__PURE__*/React__default.createElement("br", null), /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -15052,11 +15202,11 @@
|
|
|
15052
15202
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
15053
15203
|
className: "side-nav__sub-menu-title"
|
|
15054
15204
|
}, subMenuBrandsTitle), /*#__PURE__*/React__default.createElement("a", {
|
|
15055
|
-
href: "".concat(productUrl, "/
|
|
15205
|
+
href: "".concat(productUrl, "/").concat(categorySlug),
|
|
15056
15206
|
className: "side-nav__element"
|
|
15057
15207
|
}, "All Brands"), !!brandsList.length && brandsList.map(function (brand) {
|
|
15058
15208
|
return /*#__PURE__*/React__default.createElement("a", {
|
|
15059
|
-
href: "".concat(productUrl, "/").concat(categorySlug, "/").concat(brand.slug),
|
|
15209
|
+
href: "".concat(productUrl, "/").concat(categorySlug === 'new' ? 'brands' : categorySlug, "/").concat(brand.slug),
|
|
15060
15210
|
className: "side-nav__element"
|
|
15061
15211
|
}, brand.name);
|
|
15062
15212
|
})))));
|
|
@@ -15098,7 +15248,7 @@
|
|
|
15098
15248
|
latestArrivals: [],
|
|
15099
15249
|
bags: [],
|
|
15100
15250
|
shoes: [],
|
|
15101
|
-
|
|
15251
|
+
apparel: [],
|
|
15102
15252
|
accessories: [],
|
|
15103
15253
|
watches: [],
|
|
15104
15254
|
accessoriesCategories: [],
|
|
@@ -15227,7 +15377,7 @@
|
|
|
15227
15377
|
type: "button",
|
|
15228
15378
|
className: "side-nav__menu-title-wrapper",
|
|
15229
15379
|
onClick: function onClick() {
|
|
15230
|
-
return onSubMenuClick('
|
|
15380
|
+
return onSubMenuClick('apparel');
|
|
15231
15381
|
}
|
|
15232
15382
|
}, /*#__PURE__*/React__default.createElement("span", {
|
|
15233
15383
|
className: "side-nav__menu-title"
|
|
@@ -15345,14 +15495,14 @@
|
|
|
15345
15495
|
isLoading: loading,
|
|
15346
15496
|
hasError: hasError
|
|
15347
15497
|
}), /*#__PURE__*/React__default.createElement(BrandsDropDown, {
|
|
15348
|
-
subMenuOpen: subMenuOpen && displayedSubMenu === '
|
|
15498
|
+
subMenuOpen: subMenuOpen && displayedSubMenu === 'apparel',
|
|
15349
15499
|
onBackClick: onBackClick,
|
|
15350
15500
|
backIcon: backIcon,
|
|
15351
15501
|
subMenuCategoryTitle: "Department",
|
|
15352
15502
|
productUrl: productUrl,
|
|
15353
15503
|
categoryElements: dropdownData.apparelStyles,
|
|
15354
15504
|
subMenuBrandsTitle: "Clothing Brands",
|
|
15355
|
-
brandsList: dropdownData.
|
|
15505
|
+
brandsList: dropdownData.apparel,
|
|
15356
15506
|
categorySlug: displayedSubMenu,
|
|
15357
15507
|
isLoading: loading,
|
|
15358
15508
|
hasError: hasError
|
|
@@ -15569,7 +15719,6 @@
|
|
|
15569
15719
|
var logoSrc = _ref.logoSrc,
|
|
15570
15720
|
menuIcon = _ref.menuIcon,
|
|
15571
15721
|
inputSearchIcon = _ref.inputSearchIcon,
|
|
15572
|
-
onSearch = _ref.onSearch,
|
|
15573
15722
|
onCartClick = _ref.onCartClick,
|
|
15574
15723
|
cartIcon = _ref.cartIcon,
|
|
15575
15724
|
cartCount = _ref.cartCount,
|
|
@@ -15621,7 +15770,7 @@
|
|
|
15621
15770
|
showSideNav = _useState6[0],
|
|
15622
15771
|
setShowSideNav = _useState6[1];
|
|
15623
15772
|
|
|
15624
|
-
var _useState7 = React.useState(
|
|
15773
|
+
var _useState7 = React.useState(false),
|
|
15625
15774
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
15626
15775
|
searchLoading = _useState8[0],
|
|
15627
15776
|
setSearchLoading = _useState8[1];
|
|
@@ -15634,21 +15783,41 @@
|
|
|
15634
15783
|
searchResults = _useState10[0],
|
|
15635
15784
|
setSearchResults = _useState10[1];
|
|
15636
15785
|
|
|
15786
|
+
var debounce = function debounce(func, wait) {
|
|
15787
|
+
var timeout;
|
|
15788
|
+
return function executedFunction() {
|
|
15789
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
15790
|
+
args[_key] = arguments[_key];
|
|
15791
|
+
}
|
|
15792
|
+
|
|
15793
|
+
var later = function later() {
|
|
15794
|
+
clearTimeout(timeout);
|
|
15795
|
+
func.apply(void 0, args);
|
|
15796
|
+
};
|
|
15797
|
+
|
|
15798
|
+
clearTimeout(timeout);
|
|
15799
|
+
timeout = setTimeout(later, wait);
|
|
15800
|
+
};
|
|
15801
|
+
};
|
|
15802
|
+
|
|
15803
|
+
var debouncedSearch = React.useCallback(debounce(function (nextValue) {
|
|
15804
|
+
setSearchLoading(true);
|
|
15805
|
+
axios.post(endpoint, searchProducts(nextValue, 6)).then(function (response) {
|
|
15806
|
+
setSearchResults(response.data.data.luxity_products_serach_results);
|
|
15807
|
+
var ids = response.data.data.luxity_products_serach_results.luxity_product_ids;
|
|
15808
|
+
onProductIdsReceived(ids);
|
|
15809
|
+
setSearchLoading(false);
|
|
15810
|
+
}).catch(function () {
|
|
15811
|
+
setSearchLoading(false);
|
|
15812
|
+
});
|
|
15813
|
+
}, 500), [endpoint]);
|
|
15814
|
+
|
|
15637
15815
|
var handleChange = function handleChange(event) {
|
|
15638
15816
|
var value = event.target.value;
|
|
15639
15817
|
setSearchValue(value);
|
|
15640
|
-
|
|
15641
|
-
|
|
15642
|
-
|
|
15643
|
-
setSearchLoading(true);
|
|
15644
|
-
axios.post(endpoint, searchProducts(value, 6)).then(function (response) {
|
|
15645
|
-
setSearchResults(response.data.data.luxity_products_serach_results);
|
|
15646
|
-
var ids = response.data.data.luxity_products_serach_results.luxity_product_ids;
|
|
15647
|
-
onProductIdsReceived(ids);
|
|
15648
|
-
setSearchLoading(false);
|
|
15649
|
-
}).catch(function () {
|
|
15650
|
-
setSearchLoading(false);
|
|
15651
|
-
});
|
|
15818
|
+
|
|
15819
|
+
if (value.trim().length >= 3) {
|
|
15820
|
+
debouncedSearch(value);
|
|
15652
15821
|
} else {
|
|
15653
15822
|
setSearchResults({
|
|
15654
15823
|
brands: [],
|
|
@@ -15792,6 +15961,12 @@
|
|
|
15792
15961
|
value: searchValue,
|
|
15793
15962
|
onChange: handleChange,
|
|
15794
15963
|
onKeyDown: handleKeyDown
|
|
15964
|
+
}), searchLoading && /*#__PURE__*/React__default.createElement(BeatLoader, {
|
|
15965
|
+
color: "#000000",
|
|
15966
|
+
loading: searchLoading,
|
|
15967
|
+
size: 5,
|
|
15968
|
+
"aria-label": "Loading Spinner",
|
|
15969
|
+
"data-testid": "loader"
|
|
15795
15970
|
})), /*#__PURE__*/React__default.createElement("button", {
|
|
15796
15971
|
type: "button",
|
|
15797
15972
|
onClick: onSearchClick
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bonlineza/luxity-lib",
|
|
3
|
-
"version": "2.32.
|
|
3
|
+
"version": "2.32.8",
|
|
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/build/.gitignore
DELETED
package/build/.npmignore
DELETED
|
File without changes
|