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