@salesgenterp/ui-components 0.4.542 → 0.4.544
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/dist/index.js +325 -161
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +325 -161
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
|
@@ -61,7 +61,6 @@ import { FiTruck } from 'react-icons/fi';
|
|
|
61
61
|
import { FaCheck, FaRegNoteSticky } from 'react-icons/fa6';
|
|
62
62
|
import Image$3 from 'next/image';
|
|
63
63
|
import debounce$1 from 'lodash/debounce';
|
|
64
|
-
import omit$1 from 'lodash/omit';
|
|
65
64
|
|
|
66
65
|
function _extends() {
|
|
67
66
|
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
@@ -16283,9 +16282,100 @@ var WishlistProductCardSkeleton = function WishlistProductCardSkeleton(_ref) {
|
|
|
16283
16282
|
}));
|
|
16284
16283
|
};
|
|
16285
16284
|
|
|
16285
|
+
var getWishlistData = function getWishlistData(_ref) {
|
|
16286
|
+
var apiEndPoint = _ref.apiEndPoint,
|
|
16287
|
+
token = _ref.token,
|
|
16288
|
+
_ref$queryParams = _ref.queryParams,
|
|
16289
|
+
queryParams = _ref$queryParams === void 0 ? {} : _ref$queryParams;
|
|
16290
|
+
try {
|
|
16291
|
+
var _erCookieStorage$getI;
|
|
16292
|
+
if (!apiEndPoint || !token) return Promise.resolve([]);
|
|
16293
|
+
var storeId = (erCookieStorage === null || erCookieStorage === void 0 ? void 0 : (_erCookieStorage$getI = erCookieStorage.getItem) === null || _erCookieStorage$getI === void 0 ? void 0 : _erCookieStorage$getI.call(erCookieStorage, 'storeId')) || 2;
|
|
16294
|
+
return Promise.resolve(API({
|
|
16295
|
+
apiEndPoint: apiEndPoint,
|
|
16296
|
+
token: token,
|
|
16297
|
+
url: "/ecommerce/wishlist?storeIds=" + storeId,
|
|
16298
|
+
queryParams: queryParams
|
|
16299
|
+
})).then(function (data) {
|
|
16300
|
+
return data != null ? data : [];
|
|
16301
|
+
});
|
|
16302
|
+
} catch (e) {
|
|
16303
|
+
return Promise.reject(e);
|
|
16304
|
+
}
|
|
16305
|
+
};
|
|
16306
|
+
var removeFromWishlist = function removeFromWishlist(_ref2) {
|
|
16307
|
+
var apiEndPoint = _ref2.apiEndPoint,
|
|
16308
|
+
token = _ref2.token,
|
|
16309
|
+
products = _ref2.products;
|
|
16310
|
+
try {
|
|
16311
|
+
var _erCookieStorage$getI2;
|
|
16312
|
+
if (!apiEndPoint || !token) return Promise.resolve();
|
|
16313
|
+
var storeId = (erCookieStorage === null || erCookieStorage === void 0 ? void 0 : (_erCookieStorage$getI2 = erCookieStorage.getItem) === null || _erCookieStorage$getI2 === void 0 ? void 0 : _erCookieStorage$getI2.call(erCookieStorage, 'storeId')) || 2;
|
|
16314
|
+
var body = (products || []).map(function (product) {
|
|
16315
|
+
return {
|
|
16316
|
+
productId: product === null || product === void 0 ? void 0 : product.productId,
|
|
16317
|
+
storeId: storeId
|
|
16318
|
+
};
|
|
16319
|
+
}).filter(function (item) {
|
|
16320
|
+
return item === null || item === void 0 ? void 0 : item.productId;
|
|
16321
|
+
});
|
|
16322
|
+
if (!(body !== null && body !== void 0 && body.length)) return Promise.resolve();
|
|
16323
|
+
return Promise.resolve(API({
|
|
16324
|
+
apiEndPoint: apiEndPoint,
|
|
16325
|
+
token: token,
|
|
16326
|
+
url: "/ecommerce/wishlist/items",
|
|
16327
|
+
body: body,
|
|
16328
|
+
method: 'delete',
|
|
16329
|
+
successMessage: 'Product removed from wishlist successfully',
|
|
16330
|
+
errorMessage: 'Error in removing product from wishlist'
|
|
16331
|
+
})).then(function () {});
|
|
16332
|
+
} catch (e) {
|
|
16333
|
+
return Promise.reject(e);
|
|
16334
|
+
}
|
|
16335
|
+
};
|
|
16336
|
+
var moveToCart = function moveToCart(_ref3) {
|
|
16337
|
+
var apiEndPoint = _ref3.apiEndPoint,
|
|
16338
|
+
token = _ref3.token,
|
|
16339
|
+
productId = _ref3.productId;
|
|
16340
|
+
try {
|
|
16341
|
+
if (!apiEndPoint || !token || productId == null) return Promise.resolve();
|
|
16342
|
+
return Promise.resolve(API({
|
|
16343
|
+
apiEndPoint: apiEndPoint,
|
|
16344
|
+
token: token,
|
|
16345
|
+
url: "/ecommerce/wishlist/move-to-cart",
|
|
16346
|
+
method: 'post',
|
|
16347
|
+
body: [productId],
|
|
16348
|
+
successMessage: 'Product moved to cart successfully',
|
|
16349
|
+
errorMessage: 'Error in moving product to cart'
|
|
16350
|
+
})).then(function () {});
|
|
16351
|
+
} catch (e) {
|
|
16352
|
+
return Promise.reject(e);
|
|
16353
|
+
}
|
|
16354
|
+
};
|
|
16355
|
+
|
|
16286
16356
|
var _templateObject$T, _templateObject2$D, _templateObject3$t, _templateObject4$n, _templateObject5$i, _templateObject6$g, _templateObject7$c, _templateObject8$a, _templateObject9$7, _templateObject10$5, _templateObject11$4;
|
|
16287
|
-
var
|
|
16288
|
-
|
|
16357
|
+
var EmptyStateText = styled.p(_templateObject$T || (_templateObject$T = _taggedTemplateLiteralLoose(["\n font-size: 16px;\n color: #4b4b4b;\n margin: 16px 0;\n"])));
|
|
16358
|
+
var ProductCardWrapper = styled.div(_templateObject2$D || (_templateObject2$D = _taggedTemplateLiteralLoose(["\n position: relative;\n background-color: #ffffff;\n border: 1px solid #d3d3d3;\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 10px;\n gap: 10px;\n cursor: pointer;\n"])));
|
|
16359
|
+
var TopBar = styled.div(_templateObject3$t || (_templateObject3$t = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n"])));
|
|
16360
|
+
var SearchWrapper = styled(Box)(_templateObject4$n || (_templateObject4$n = _taggedTemplateLiteralLoose(["\n && {\n margin-bottom: 24px;\n max-width: 400px;\n width: 100%;\n }\n"])));
|
|
16361
|
+
var TotalItemsText = styled.div(_templateObject5$i || (_templateObject5$i = _taggedTemplateLiteralLoose(["\n font-size: 14px;\n font-weight: 500;\n color: #4b4b4b;\n margin-bottom: 24px;\n white-space: nowrap;\n"])));
|
|
16362
|
+
var DeleteButton = styled.button(_templateObject6$g || (_templateObject6$g = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 8px;\n right: 8px;\n opacity: 1;\n pointer-events: auto;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: 50%;\n background-color: #ffffff;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\n cursor: pointer;\n color: #ff0000;\n"])));
|
|
16363
|
+
var PriceContainer = styled.div(_templateObject7$c || (_templateObject7$c = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"])));
|
|
16364
|
+
var DiscountPriceRow = styled.div(_templateObject8$a || (_templateObject8$a = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n"])));
|
|
16365
|
+
var ProductName$2 = styled.div(_templateObject9$7 || (_templateObject9$7 = _taggedTemplateLiteralLoose(["\n font-size: 16px;\n font-weight: 500;\n color: #000000;\n text-align: center;\n height: 40px;\n overflow: hidden;\n width: 100%;\n text-overflow: ellipsis;\n white-space: pre-wrap;\n"])));
|
|
16366
|
+
var ProductActionButton = styled(Button)(_templateObject10$5 || (_templateObject10$5 = _taggedTemplateLiteralLoose(["\n && {\n background-color: ", ";\n color: #ffffff;\n border-radius: 10px;\n font-weight: 500;\n }\n"])), function (_ref) {
|
|
16367
|
+
var primaryColor = _ref.primaryColor;
|
|
16368
|
+
return primaryColor != null ? primaryColor : '#000000';
|
|
16369
|
+
});
|
|
16370
|
+
var OutOfStockButton = styled(Button)(_templateObject11$4 || (_templateObject11$4 = _taggedTemplateLiteralLoose(["\n && {\n color: #ffffff;\n border-radius: 10px;\n font-weight: 500;\n }\n"])));
|
|
16371
|
+
|
|
16372
|
+
var getProductImage = function getProductImage(imageUrl, fallbackUrl) {
|
|
16373
|
+
var url = imageUrl || fallbackUrl;
|
|
16374
|
+
return url && url !== 'null' ? url : '/images/products/imgnotfound.png';
|
|
16375
|
+
};
|
|
16376
|
+
var formatPrice = function formatPrice(price) {
|
|
16377
|
+
var value = Number(price);
|
|
16378
|
+
return Number.isFinite(value) ? value.toFixed(2) : '0.00';
|
|
16289
16379
|
};
|
|
16290
16380
|
var DEFAULT_GRID_SPAN = {
|
|
16291
16381
|
lg: 3,
|
|
@@ -16293,7 +16383,6 @@ var DEFAULT_GRID_SPAN = {
|
|
|
16293
16383
|
sm: 6,
|
|
16294
16384
|
xs: 6
|
|
16295
16385
|
};
|
|
16296
|
-
var WISHLIST_ITEM_OMIT_KEYS = ['id', 'createdBy', 'insertedTimestamp', 'updatedBy', 'updatedTimestamp'];
|
|
16297
16386
|
var getStyleOverride = function getStyleOverride(styleOverrides) {
|
|
16298
16387
|
for (var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
16299
16388
|
keys[_key - 1] = arguments[_key];
|
|
@@ -16304,71 +16393,45 @@ var getStyleOverride = function getStyleOverride(styleOverrides) {
|
|
|
16304
16393
|
}
|
|
16305
16394
|
return undefined;
|
|
16306
16395
|
};
|
|
16307
|
-
var
|
|
16308
|
-
|
|
16309
|
-
|
|
16396
|
+
var normalizeWishlistItems = function normalizeWishlistItems(data) {
|
|
16397
|
+
if (Array.isArray(data)) return data.filter(Boolean);
|
|
16398
|
+
var content = data === null || data === void 0 ? void 0 : data.content;
|
|
16399
|
+
return Array.isArray(content) ? content.filter(Boolean) : [];
|
|
16400
|
+
};
|
|
16401
|
+
var getWishlistTotal = function getWishlistTotal(data, items) {
|
|
16402
|
+
var _items$length;
|
|
16403
|
+
if (typeof (data === null || data === void 0 ? void 0 : data.totalElements) === 'number') {
|
|
16404
|
+
return data.totalElements;
|
|
16405
|
+
}
|
|
16406
|
+
return (_items$length = items === null || items === void 0 ? void 0 : items.length) != null ? _items$length : 0;
|
|
16407
|
+
};
|
|
16408
|
+
var WishlistContent = function WishlistContent(_ref) {
|
|
16409
|
+
var data = _ref.data,
|
|
16410
|
+
apiEndPoint = _ref.apiEndPoint,
|
|
16310
16411
|
token = _ref.token,
|
|
16311
|
-
|
|
16312
|
-
|
|
16313
|
-
|
|
16314
|
-
|
|
16315
|
-
|
|
16316
|
-
onSearch = _ref.onSearch,
|
|
16317
|
-
_ref$span = _ref.span,
|
|
16318
|
-
span = _ref$span === void 0 ? DEFAULT_GRID_SPAN : _ref$span,
|
|
16412
|
+
searchInput = _ref.searchInput,
|
|
16413
|
+
onSearchChange = _ref.onSearchChange,
|
|
16414
|
+
searchQuery = _ref.searchQuery,
|
|
16415
|
+
styleOverrides = _ref.styleOverrides,
|
|
16416
|
+
gridSpan = _ref.gridSpan,
|
|
16319
16417
|
primaryColor = _ref.primaryColor,
|
|
16320
|
-
|
|
16321
|
-
|
|
16322
|
-
_ref$
|
|
16323
|
-
|
|
16324
|
-
|
|
16325
|
-
|
|
16326
|
-
token: token
|
|
16327
|
-
}),
|
|
16328
|
-
allowToProcessInvoiceForOutOfStockProductsEcommerce = _useAllSystemFeatureV.allowToProcessInvoiceForOutOfStockProductsEcommerce;
|
|
16329
|
-
var styleOverrides = useMemo(function () {
|
|
16330
|
-
return _extends({}, style || {});
|
|
16331
|
-
}, [style]);
|
|
16332
|
-
var _useState = useState(''),
|
|
16333
|
-
searchInput = _useState[0],
|
|
16334
|
-
setSearchInput = _useState[1];
|
|
16418
|
+
onMoveToCart = _ref.onMoveToCart,
|
|
16419
|
+
onProductCardClick = _ref.onProductCardClick,
|
|
16420
|
+
_ref$imgNotFoundUrl = _ref.imgNotFoundUrl,
|
|
16421
|
+
imgNotFoundUrl = _ref$imgNotFoundUrl === void 0 ? '' : _ref$imgNotFoundUrl,
|
|
16422
|
+
setRefreshTrigger = _ref.setRefreshTrigger,
|
|
16423
|
+
allowToProcessInvoiceForOutOfStockProducts = _ref.allowToProcessInvoiceForOutOfStockProducts;
|
|
16335
16424
|
var items = useMemo(function () {
|
|
16336
|
-
|
|
16337
|
-
|
|
16338
|
-
return (_wishlistData$content = wishlistData === null || wishlistData === void 0 ? void 0 : wishlistData.content) != null ? _wishlistData$content : [];
|
|
16339
|
-
}, [wishlistData]);
|
|
16340
|
-
var gridSpan = useMemo(function () {
|
|
16341
|
-
return _extends({}, DEFAULT_GRID_SPAN, span || {});
|
|
16342
|
-
}, [span]);
|
|
16425
|
+
return normalizeWishlistItems(data);
|
|
16426
|
+
}, [data]);
|
|
16343
16427
|
var totalItems = useMemo(function () {
|
|
16344
|
-
|
|
16345
|
-
|
|
16346
|
-
|
|
16347
|
-
return items === null || items === void 0 ? void 0 : items.length;
|
|
16348
|
-
}, [wishlistData, items === null || items === void 0 ? void 0 : items.length]);
|
|
16349
|
-
var debouncedSearch = useMemo(function () {
|
|
16350
|
-
return debounce$1(function (value) {
|
|
16351
|
-
return onSearch === null || onSearch === void 0 ? void 0 : onSearch(value);
|
|
16352
|
-
}, 500);
|
|
16353
|
-
}, [onSearch]);
|
|
16354
|
-
useEffect(function () {
|
|
16355
|
-
return function () {
|
|
16356
|
-
debouncedSearch.cancel();
|
|
16357
|
-
};
|
|
16358
|
-
}, [debouncedSearch]);
|
|
16359
|
-
if (!token) {
|
|
16360
|
-
return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("h1", null, "Wishlist"), /*#__PURE__*/React__default.createElement("p", null, "Please log in to view your wishlist."));
|
|
16361
|
-
}
|
|
16362
|
-
if (!isLoading && items.length === 0) {
|
|
16363
|
-
return /*#__PURE__*/React__default.createElement(EmptyStateText, {
|
|
16364
|
-
style: getStyleOverride(styleOverrides, 'emptyStateText', 'EmptyStateText')
|
|
16365
|
-
}, "no products added to wishlist");
|
|
16366
|
-
}
|
|
16428
|
+
return getWishlistTotal(data, items);
|
|
16429
|
+
}, [data, items]);
|
|
16430
|
+
var isEmptyWishlist = items.length === 0 && !searchQuery;
|
|
16367
16431
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
16368
16432
|
style: {
|
|
16369
|
-
|
|
16370
|
-
height: '100%'
|
|
16371
|
-
width: '100%'
|
|
16433
|
+
width: '100%',
|
|
16434
|
+
height: '100%'
|
|
16372
16435
|
}
|
|
16373
16436
|
}, /*#__PURE__*/React__default.createElement(TopBar, {
|
|
16374
16437
|
style: getStyleOverride(styleOverrides, 'topBar', 'TopBar')
|
|
@@ -16377,12 +16440,7 @@ var WishlistComponent = function WishlistComponent(_ref) {
|
|
|
16377
16440
|
}, /*#__PURE__*/React__default.createElement(TextField, {
|
|
16378
16441
|
placeholder: "Type minimum 3 characters to search...",
|
|
16379
16442
|
value: searchInput,
|
|
16380
|
-
onChange:
|
|
16381
|
-
var value = e.target.value;
|
|
16382
|
-
setSearchInput(value);
|
|
16383
|
-
if (!token || typeof onSearch !== 'function') return;
|
|
16384
|
-
debouncedSearch(value);
|
|
16385
|
-
},
|
|
16443
|
+
onChange: onSearchChange,
|
|
16386
16444
|
size: "small",
|
|
16387
16445
|
fullWidth: true,
|
|
16388
16446
|
sx: {
|
|
@@ -16392,69 +16450,169 @@ var WishlistComponent = function WishlistComponent(_ref) {
|
|
|
16392
16450
|
}
|
|
16393
16451
|
})), /*#__PURE__*/React__default.createElement(TotalItemsText, {
|
|
16394
16452
|
style: getStyleOverride(styleOverrides, 'totalItemsText', 'TotalItemsText')
|
|
16395
|
-
}, "Total " + totalItems + " item" + (totalItems === 1 ? '' : 's'))),
|
|
16396
|
-
|
|
16397
|
-
}) : /*#__PURE__*/React__default.createElement(Grid, {
|
|
16453
|
+
}, "Total " + totalItems + " item" + (totalItems === 1 ? '' : 's'))), isEmptyWishlist || items.length === 0 ? /*#__PURE__*/React__default.createElement(EmptyStateText, {
|
|
16454
|
+
style: getStyleOverride(styleOverrides, 'emptyStateText', 'EmptyStateText')
|
|
16455
|
+
}, "No wishlist items found") : /*#__PURE__*/React__default.createElement(Grid, {
|
|
16398
16456
|
container: true,
|
|
16399
16457
|
spacing: 2
|
|
16400
|
-
}, items
|
|
16458
|
+
}, items.map(function (product, index) {
|
|
16459
|
+
var _ref2, _product$id;
|
|
16401
16460
|
return /*#__PURE__*/React__default.createElement(Grid, {
|
|
16402
16461
|
item: true,
|
|
16403
|
-
xs: gridSpan.xs,
|
|
16404
|
-
sm: gridSpan.sm,
|
|
16405
|
-
md: gridSpan.md,
|
|
16406
|
-
lg: gridSpan.lg,
|
|
16407
|
-
key: product === null || product === void 0 ? void 0 : product.id
|
|
16462
|
+
xs: gridSpan === null || gridSpan === void 0 ? void 0 : gridSpan.xs,
|
|
16463
|
+
sm: gridSpan === null || gridSpan === void 0 ? void 0 : gridSpan.sm,
|
|
16464
|
+
md: gridSpan === null || gridSpan === void 0 ? void 0 : gridSpan.md,
|
|
16465
|
+
lg: gridSpan === null || gridSpan === void 0 ? void 0 : gridSpan.lg,
|
|
16466
|
+
key: (_ref2 = (_product$id = product === null || product === void 0 ? void 0 : product.id) != null ? _product$id : product === null || product === void 0 ? void 0 : product.productId) != null ? _ref2 : index
|
|
16408
16467
|
}, /*#__PURE__*/React__default.createElement(ProductCard, {
|
|
16468
|
+
setRefreshTrigger: setRefreshTrigger,
|
|
16469
|
+
apiEndPoint: apiEndPoint,
|
|
16470
|
+
token: token,
|
|
16409
16471
|
product: product,
|
|
16410
16472
|
styleOverrides: styleOverrides,
|
|
16411
|
-
onRemoveFromWishlist: onRemoveFromWishlist,
|
|
16412
16473
|
primaryColor: primaryColor,
|
|
16474
|
+
onMoveToCart: onMoveToCart,
|
|
16475
|
+
onProductCardClick: onProductCardClick,
|
|
16413
16476
|
imgNotFoundUrl: imgNotFoundUrl,
|
|
16414
|
-
|
|
16415
|
-
allowToProcessInvoiceForOutOfStockProductsEcommerce: allowToProcessInvoiceForOutOfStockProductsEcommerce,
|
|
16416
|
-
doNotShowPrice: doNotShowPrice
|
|
16477
|
+
allowToProcessInvoiceForOutOfStockProducts: allowToProcessInvoiceForOutOfStockProducts
|
|
16417
16478
|
}));
|
|
16418
16479
|
})));
|
|
16419
16480
|
};
|
|
16420
|
-
var
|
|
16421
|
-
var
|
|
16422
|
-
|
|
16423
|
-
|
|
16424
|
-
|
|
16425
|
-
|
|
16426
|
-
var PriceContainer = styled.div(_templateObject7$c || (_templateObject7$c = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"])));
|
|
16427
|
-
var DiscountPriceRow = styled.div(_templateObject8$a || (_templateObject8$a = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n"])));
|
|
16428
|
-
var ProductName$2 = styled.div(_templateObject9$7 || (_templateObject9$7 = _taggedTemplateLiteralLoose(["\n font-size: 16px;\n font-weight: 500;\n color: #000000;\n text-align: center;\n height: 40px;\n overflow: hidden;\n width: 100%;\n text-overflow: ellipsis;\n white-space: pre-wrap;\n"])));
|
|
16429
|
-
var ProductActionButton = styled(Button)(_templateObject10$5 || (_templateObject10$5 = _taggedTemplateLiteralLoose(["\n && {\n background-color: ", ";\n color: #ffffff;\n border-radius: 10px;\n font-weight: 500;\n }\n"])), function (_ref2) {
|
|
16430
|
-
var primaryColor = _ref2.primaryColor;
|
|
16431
|
-
return primaryColor != null ? primaryColor : '#000000';
|
|
16432
|
-
});
|
|
16433
|
-
var OutOfStockButton = styled(Button)(_templateObject11$4 || (_templateObject11$4 = _taggedTemplateLiteralLoose(["\n && {\n color: #ffffff;\n border-radius: 10px;\n font-weight: 500;\n }\n"])));
|
|
16434
|
-
var ProductCard = function ProductCard(_ref3) {
|
|
16435
|
-
var _product$standardPric, _product$retailPrice, _product$standardPric2;
|
|
16436
|
-
var product = _ref3.product,
|
|
16437
|
-
styleOverrides = _ref3.styleOverrides,
|
|
16438
|
-
onRemoveFromWishlist = _ref3.onRemoveFromWishlist,
|
|
16481
|
+
var WishlistComponent = function WishlistComponent(_ref3) {
|
|
16482
|
+
var _ref3$style = _ref3.style,
|
|
16483
|
+
style = _ref3$style === void 0 ? {} : _ref3$style,
|
|
16484
|
+
token = _ref3.token,
|
|
16485
|
+
_ref3$span = _ref3.span,
|
|
16486
|
+
span = _ref3$span === void 0 ? DEFAULT_GRID_SPAN : _ref3$span,
|
|
16439
16487
|
primaryColor = _ref3.primaryColor,
|
|
16440
|
-
|
|
16441
|
-
|
|
16442
|
-
|
|
16443
|
-
|
|
16444
|
-
|
|
16445
|
-
var
|
|
16446
|
-
|
|
16447
|
-
|
|
16448
|
-
var
|
|
16449
|
-
|
|
16450
|
-
|
|
16451
|
-
var
|
|
16488
|
+
apiEndPoint = _ref3.apiEndPoint,
|
|
16489
|
+
onMoveToCart = _ref3.onMoveToCart,
|
|
16490
|
+
onProductCardClick = _ref3.onProductCardClick,
|
|
16491
|
+
_ref3$allowToProcessI = _ref3.allowToProcessInvoiceForOutOfStockProducts,
|
|
16492
|
+
allowToProcessInvoiceForOutOfStockProducts = _ref3$allowToProcessI === void 0 ? false : _ref3$allowToProcessI;
|
|
16493
|
+
var styleOverrides = useMemo(function () {
|
|
16494
|
+
return _extends({}, style || {});
|
|
16495
|
+
}, [style]);
|
|
16496
|
+
var _useState = useState(''),
|
|
16497
|
+
searchInput = _useState[0],
|
|
16498
|
+
setSearchInput = _useState[1];
|
|
16499
|
+
var _useState2 = useState(''),
|
|
16500
|
+
searchQuery = _useState2[0],
|
|
16501
|
+
setSearchQuery = _useState2[1];
|
|
16502
|
+
var _useState3 = useState(0),
|
|
16503
|
+
refreshTrigger = _useState3[0],
|
|
16504
|
+
setRefreshTrigger = _useState3[1];
|
|
16505
|
+
var gridSpan = useMemo(function () {
|
|
16506
|
+
return _extends({}, DEFAULT_GRID_SPAN, span || {});
|
|
16507
|
+
}, [span]);
|
|
16508
|
+
var debouncedSearch = useMemo(function () {
|
|
16509
|
+
return debounce$1(function (value) {
|
|
16510
|
+
var normalizedValue = value != null ? value : '';
|
|
16511
|
+
if (normalizedValue.length === 0 || normalizedValue.length >= 3) {
|
|
16512
|
+
setSearchQuery(normalizedValue);
|
|
16513
|
+
}
|
|
16514
|
+
}, 500);
|
|
16515
|
+
}, []);
|
|
16516
|
+
useEffect(function () {
|
|
16517
|
+
return function () {
|
|
16518
|
+
debouncedSearch.cancel();
|
|
16519
|
+
};
|
|
16520
|
+
}, [debouncedSearch]);
|
|
16521
|
+
var handleSearchChange = useCallback(function (e) {
|
|
16522
|
+
var _e$target$value, _e$target;
|
|
16523
|
+
var value = (_e$target$value = e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value) != null ? _e$target$value : '';
|
|
16524
|
+
setSearchInput(value);
|
|
16525
|
+
debouncedSearch(value);
|
|
16526
|
+
}, [debouncedSearch]);
|
|
16527
|
+
var wishlistTrigger = useMemo(function () {
|
|
16528
|
+
return searchQuery + "-" + refreshTrigger;
|
|
16529
|
+
}, [searchQuery, refreshTrigger]);
|
|
16530
|
+
var wishlistAsyncService = useCallback(function () {
|
|
16531
|
+
return getWishlistData({
|
|
16532
|
+
apiEndPoint: apiEndPoint,
|
|
16533
|
+
token: token,
|
|
16534
|
+
queryParams: _extends({
|
|
16535
|
+
page: 0,
|
|
16536
|
+
size: 9999
|
|
16537
|
+
}, searchQuery ? {
|
|
16538
|
+
productName: searchQuery
|
|
16539
|
+
} : {})
|
|
16540
|
+
});
|
|
16541
|
+
}, [apiEndPoint, token, searchQuery]);
|
|
16542
|
+
var wishlistLoadingView = useMemo(function () {
|
|
16543
|
+
return /*#__PURE__*/React__default.createElement(WishlistProductCardSkeleton, {
|
|
16544
|
+
span: span
|
|
16545
|
+
});
|
|
16546
|
+
}, [span]);
|
|
16547
|
+
if (!token) {
|
|
16548
|
+
return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("h1", null, "Wishlist"), /*#__PURE__*/React__default.createElement("p", null, "Please log in to view your wishlist."));
|
|
16549
|
+
}
|
|
16550
|
+
if (!apiEndPoint) {
|
|
16551
|
+
return /*#__PURE__*/React__default.createElement(EmptyStateText, null, "Unable to load wishlist. API endpoint is not configured.");
|
|
16552
|
+
}
|
|
16553
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
16554
|
+
style: {
|
|
16555
|
+
marginTop: '1rem',
|
|
16556
|
+
height: '100%',
|
|
16557
|
+
width: '100%'
|
|
16558
|
+
}
|
|
16559
|
+
}, /*#__PURE__*/React__default.createElement(AsyncDataLoadComponent, {
|
|
16560
|
+
asyncService: wishlistAsyncService,
|
|
16561
|
+
triggerChange: wishlistTrigger,
|
|
16562
|
+
loadingView: wishlistLoadingView
|
|
16563
|
+
}, function (data) {
|
|
16564
|
+
return /*#__PURE__*/React__default.createElement(WishlistContent, {
|
|
16565
|
+
data: data,
|
|
16566
|
+
apiEndPoint: apiEndPoint,
|
|
16567
|
+
token: token,
|
|
16568
|
+
searchInput: searchInput,
|
|
16569
|
+
onSearchChange: handleSearchChange,
|
|
16570
|
+
searchQuery: searchQuery,
|
|
16571
|
+
styleOverrides: styleOverrides,
|
|
16572
|
+
gridSpan: gridSpan,
|
|
16573
|
+
primaryColor: primaryColor,
|
|
16574
|
+
onMoveToCart: onMoveToCart,
|
|
16575
|
+
onProductCardClick: onProductCardClick,
|
|
16576
|
+
setRefreshTrigger: setRefreshTrigger,
|
|
16577
|
+
allowToProcessInvoiceForOutOfStockProducts: allowToProcessInvoiceForOutOfStockProducts
|
|
16578
|
+
});
|
|
16579
|
+
}));
|
|
16580
|
+
};
|
|
16581
|
+
var ProductCard = function ProductCard(_ref4) {
|
|
16582
|
+
var _product$standardPric, _product$retailPrice;
|
|
16583
|
+
var product = _ref4.product,
|
|
16584
|
+
styleOverrides = _ref4.styleOverrides,
|
|
16585
|
+
primaryColor = _ref4.primaryColor,
|
|
16586
|
+
onMoveToCart = _ref4.onMoveToCart,
|
|
16587
|
+
onProductCardClick = _ref4.onProductCardClick,
|
|
16588
|
+
_ref4$imgNotFoundUrl = _ref4.imgNotFoundUrl,
|
|
16589
|
+
imgNotFoundUrl = _ref4$imgNotFoundUrl === void 0 ? '' : _ref4$imgNotFoundUrl,
|
|
16590
|
+
apiEndPoint = _ref4.apiEndPoint,
|
|
16591
|
+
token = _ref4.token,
|
|
16592
|
+
setRefreshTrigger = _ref4.setRefreshTrigger,
|
|
16593
|
+
allowToProcessInvoiceForOutOfStockProducts = _ref4.allowToProcessInvoiceForOutOfStockProducts;
|
|
16594
|
+
var _useState4 = useState(false),
|
|
16595
|
+
deleteLoading = _useState4[0],
|
|
16596
|
+
setDeleteLoading = _useState4[1];
|
|
16597
|
+
var _useState5 = useState(false),
|
|
16598
|
+
moveToCartLoading = _useState5[0],
|
|
16599
|
+
setMoveToCartLoading = _useState5[1];
|
|
16600
|
+
if (!product) return null;
|
|
16601
|
+
var removeItem = function removeItem(item) {
|
|
16452
16602
|
try {
|
|
16453
|
-
if (
|
|
16603
|
+
if (!(item !== null && item !== void 0 && item.productId) && !(item !== null && item !== void 0 && item.id)) return Promise.resolve();
|
|
16454
16604
|
setDeleteLoading(true);
|
|
16455
16605
|
var _temp = _finallyRethrows(function () {
|
|
16456
16606
|
return _catch(function () {
|
|
16457
|
-
return Promise.resolve(
|
|
16607
|
+
return Promise.resolve(removeFromWishlist({
|
|
16608
|
+
apiEndPoint: apiEndPoint,
|
|
16609
|
+
token: token,
|
|
16610
|
+
products: [item]
|
|
16611
|
+
})).then(function () {
|
|
16612
|
+
setRefreshTrigger === null || setRefreshTrigger === void 0 ? void 0 : setRefreshTrigger(function (prev) {
|
|
16613
|
+
return prev + 1;
|
|
16614
|
+
});
|
|
16615
|
+
});
|
|
16458
16616
|
}, function () {});
|
|
16459
16617
|
}, function (_wasThrown, _result) {
|
|
16460
16618
|
setDeleteLoading(false);
|
|
@@ -16466,29 +16624,10 @@ var ProductCard = function ProductCard(_ref3) {
|
|
|
16466
16624
|
return Promise.reject(e);
|
|
16467
16625
|
}
|
|
16468
16626
|
};
|
|
16469
|
-
var onChangeQuantity = function onChangeQuantity(product) {
|
|
16470
|
-
try {
|
|
16471
|
-
if (!onAddToCart || typeof onAddToCart !== 'function') return Promise.resolve();
|
|
16472
|
-
var _temp2 = _finallyRethrows(function () {
|
|
16473
|
-
return _catch(function () {
|
|
16474
|
-
setAddToCartLoading(true);
|
|
16475
|
-
return Promise.resolve(onAddToCart(omit$1(product, WISHLIST_ITEM_OMIT_KEYS))).then(function () {});
|
|
16476
|
-
}, function () {});
|
|
16477
|
-
}, function (_wasThrown2, _result2) {
|
|
16478
|
-
setAddToCartLoading(false);
|
|
16479
|
-
if (_wasThrown2) throw _result2;
|
|
16480
|
-
return _result2;
|
|
16481
|
-
});
|
|
16482
|
-
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
16483
|
-
} catch (e) {
|
|
16484
|
-
return Promise.reject(e);
|
|
16485
|
-
}
|
|
16486
|
-
};
|
|
16487
16627
|
return /*#__PURE__*/React__default.createElement(ProductCardWrapper, {
|
|
16488
16628
|
style: getStyleOverride(styleOverrides, 'productCardWrapper', 'ProductCardWrapper'),
|
|
16489
16629
|
onClick: function onClick() {
|
|
16490
|
-
|
|
16491
|
-
router.push("/product-details/" + paramCase((_ref4 = (_product$urlAlias = product.urlAlias) != null ? _product$urlAlias : product.alias) != null ? _ref4 : product.productName) + "?id=" + (product === null || product === void 0 ? void 0 : product.productId));
|
|
16630
|
+
onProductCardClick === null || onProductCardClick === void 0 ? void 0 : onProductCardClick(product);
|
|
16492
16631
|
}
|
|
16493
16632
|
}, /*#__PURE__*/React__default.createElement(DeleteButton, {
|
|
16494
16633
|
type: "button",
|
|
@@ -16497,11 +16636,13 @@ var ProductCard = function ProductCard(_ref3) {
|
|
|
16497
16636
|
style: getStyleOverride(styleOverrides, 'deleteButton', 'DeleteButton'),
|
|
16498
16637
|
onClick: function onClick(e) {
|
|
16499
16638
|
try {
|
|
16500
|
-
var
|
|
16501
|
-
|
|
16502
|
-
|
|
16503
|
-
|
|
16504
|
-
|
|
16639
|
+
var _e$stopPropagation;
|
|
16640
|
+
e === null || e === void 0 ? void 0 : (_e$stopPropagation = e.stopPropagation) === null || _e$stopPropagation === void 0 ? void 0 : _e$stopPropagation.call(e);
|
|
16641
|
+
return Promise.resolve(_catch(function () {
|
|
16642
|
+
var confirm = window.confirm('Are you sure you want to remove this item from wishlist?');
|
|
16643
|
+
if (!confirm) return;
|
|
16644
|
+
return Promise.resolve(removeItem(product)).then(function () {});
|
|
16645
|
+
}, function () {}));
|
|
16505
16646
|
} catch (e) {
|
|
16506
16647
|
return Promise.reject(e);
|
|
16507
16648
|
}
|
|
@@ -16518,42 +16659,65 @@ var ProductCard = function ProductCard(_ref3) {
|
|
|
16518
16659
|
width: 160,
|
|
16519
16660
|
height: 160,
|
|
16520
16661
|
objectFit: "contain"
|
|
16521
|
-
}),
|
|
16662
|
+
}), /*#__PURE__*/React__default.createElement(PriceContainer, {
|
|
16522
16663
|
style: getStyleOverride(styleOverrides, 'priceContainer', 'PriceContainer')
|
|
16523
|
-
}, (product === null || product === void 0 ? void 0 : product.standardPrice) > (product === null || product === void 0 ? void 0 : product.retailPrice) ? /*#__PURE__*/React__default.createElement(DiscountPriceRow, {
|
|
16664
|
+
}, ((_product$standardPric = product === null || product === void 0 ? void 0 : product.standardPrice) != null ? _product$standardPric : 0) > ((_product$retailPrice = product === null || product === void 0 ? void 0 : product.retailPrice) != null ? _product$retailPrice : 0) ? /*#__PURE__*/React__default.createElement(DiscountPriceRow, {
|
|
16524
16665
|
style: getStyleOverride(styleOverrides, 'discountPriceRow', 'DiscountPriceRow')
|
|
16525
|
-
}, /*#__PURE__*/React__default.createElement("del", null, "$" + (product === null || product === void 0 ? void 0 :
|
|
16666
|
+
}, /*#__PURE__*/React__default.createElement("del", null, "$" + formatPrice(product === null || product === void 0 ? void 0 : product.standardPrice.toFixed(2))), /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("div", null, "$" + formatPrice(product === null || product === void 0 ? void 0 : product.retailPrice.toFixed(2))))) : /*#__PURE__*/React__default.createElement("div", null, "$" + formatPrice(product === null || product === void 0 ? void 0 : product.standardPrice.toFixed(2)))), /*#__PURE__*/React__default.createElement(ProductName$2, {
|
|
16526
16667
|
style: getStyleOverride(styleOverrides, 'productName', 'ProductName')
|
|
16527
|
-
}, product === null || product === void 0 ? void 0 : product.productName), /*#__PURE__*/React__default.createElement("div", null, (product === null || product === void 0 ? void 0 : product.productStock) > 0 || product !== null && product !== void 0 && product.hasChildProduct ? /*#__PURE__*/React__default.createElement(ProductActionButton, {
|
|
16668
|
+
}, product === null || product === void 0 ? void 0 : product.productName), /*#__PURE__*/React__default.createElement("div", null, (product === null || product === void 0 ? void 0 : product.productStock) > 0 || allowToProcessInvoiceForOutOfStockProducts || product !== null && product !== void 0 && product.hasChildProduct ? /*#__PURE__*/React__default.createElement(ProductActionButton, {
|
|
16528
16669
|
variant: "contained",
|
|
16529
16670
|
color: "primary",
|
|
16530
16671
|
primaryColor: primaryColor,
|
|
16531
16672
|
style: getStyleOverride(styleOverrides, 'productActionButton', 'ProductActionButton'),
|
|
16532
16673
|
onClick: function onClick(e) {
|
|
16533
|
-
|
|
16534
|
-
|
|
16535
|
-
|
|
16536
|
-
|
|
16537
|
-
|
|
16538
|
-
|
|
16539
|
-
|
|
16540
|
-
|
|
16541
|
-
|
|
16542
|
-
|
|
16543
|
-
product: product
|
|
16544
|
-
|
|
16545
|
-
|
|
16546
|
-
|
|
16547
|
-
|
|
16674
|
+
try {
|
|
16675
|
+
var _e$stopPropagation2, _e$preventDefault;
|
|
16676
|
+
e === null || e === void 0 ? void 0 : (_e$stopPropagation2 = e.stopPropagation) === null || _e$stopPropagation2 === void 0 ? void 0 : _e$stopPropagation2.call(e);
|
|
16677
|
+
e === null || e === void 0 ? void 0 : (_e$preventDefault = e.preventDefault) === null || _e$preventDefault === void 0 ? void 0 : _e$preventDefault.call(e);
|
|
16678
|
+
return Promise.resolve(function () {
|
|
16679
|
+
if (product !== null && product !== void 0 && product.hasChildProduct) {
|
|
16680
|
+
onProductCardClick === null || onProductCardClick === void 0 ? void 0 : onProductCardClick(product);
|
|
16681
|
+
} else return function () {
|
|
16682
|
+
if (typeof onMoveToCart === 'function') {
|
|
16683
|
+
var _product$id2;
|
|
16684
|
+
var productId = (_product$id2 = product === null || product === void 0 ? void 0 : product.id) != null ? _product$id2 : product === null || product === void 0 ? void 0 : product.productId;
|
|
16685
|
+
if (!productId) return;
|
|
16686
|
+
setMoveToCartLoading(true);
|
|
16687
|
+
var _temp2 = _finallyRethrows(function () {
|
|
16688
|
+
return _catch(function () {
|
|
16689
|
+
return Promise.resolve(moveToCart({
|
|
16690
|
+
apiEndPoint: apiEndPoint,
|
|
16691
|
+
token: token,
|
|
16692
|
+
productId: productId
|
|
16693
|
+
})).then(function () {
|
|
16694
|
+
setRefreshTrigger === null || setRefreshTrigger === void 0 ? void 0 : setRefreshTrigger(function (prev) {
|
|
16695
|
+
return prev + 1;
|
|
16696
|
+
});
|
|
16697
|
+
onMoveToCart(product);
|
|
16698
|
+
});
|
|
16699
|
+
}, function () {});
|
|
16700
|
+
}, function (_wasThrown2, _result3) {
|
|
16701
|
+
setMoveToCartLoading(false);
|
|
16702
|
+
if (_wasThrown2) throw _result3;
|
|
16703
|
+
return _result3;
|
|
16704
|
+
});
|
|
16705
|
+
if (_temp2 && _temp2.then) return _temp2.then(function () {});
|
|
16706
|
+
}
|
|
16707
|
+
}();
|
|
16708
|
+
}());
|
|
16709
|
+
} catch (e) {
|
|
16710
|
+
return Promise.reject(e);
|
|
16548
16711
|
}
|
|
16549
16712
|
}
|
|
16550
|
-
}, product !== null && product !== void 0 && product.hasChildProduct ? 'Select Options' :
|
|
16713
|
+
}, product !== null && product !== void 0 && product.hasChildProduct ? 'Select Options' : moveToCartLoading ? 'Moving...' : 'Move to Cart') : /*#__PURE__*/React__default.createElement(OutOfStockButton, {
|
|
16551
16714
|
variant: "contained",
|
|
16552
16715
|
color: "primary",
|
|
16553
16716
|
disabled: true,
|
|
16554
16717
|
style: getStyleOverride(styleOverrides, 'outOfStockButton', 'OutOfStockButton'),
|
|
16555
16718
|
onClick: function onClick(e) {
|
|
16556
|
-
|
|
16719
|
+
var _e$stopPropagation3;
|
|
16720
|
+
return e === null || e === void 0 ? void 0 : (_e$stopPropagation3 = e.stopPropagation) === null || _e$stopPropagation3 === void 0 ? void 0 : _e$stopPropagation3.call(e);
|
|
16557
16721
|
}
|
|
16558
16722
|
}, "Out Of stock")));
|
|
16559
16723
|
};
|