@weareconceptstudio/account 2.0.1 → 2.0.2
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/AccountProvider.d.ts.map +1 -1
- package/dist/AccountProvider.js +1 -2
- package/dist/AccountProvider.js.map +1 -1
- package/dist/components/AccountCounter/index.d.ts +1 -1
- package/dist/components/AccountCounter/index.d.ts.map +1 -1
- package/dist/components/AccountCounter/index.js +7 -1
- package/dist/components/AccountCounter/index.js.map +1 -1
- package/dist/modules/cart/CartTemplate/index.d.ts.map +1 -1
- package/dist/modules/cart/CartTemplate/index.js +3 -3
- package/dist/modules/cart/CartTemplate/index.js.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/OutOfStockBadge.d.ts +7 -2
- package/dist/modules/cart/components/CartItems/Item/OutOfStockBadge.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/OutOfStockBadge.js +15 -4
- package/dist/modules/cart/components/CartItems/Item/OutOfStockBadge.js.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/QuantitySelector.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/QuantitySelector.js +22 -4
- package/dist/modules/cart/components/CartItems/Item/QuantitySelector.js.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/index.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/index.js +13 -12
- package/dist/modules/cart/components/CartItems/Item/index.js.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.js +9 -6
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.js.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js +27 -8
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.d.ts +7 -2
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js +14 -4
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/index.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/index.js +14 -13
- package/dist/modules/cart/components/CartItems/ItemMobile/index.js.map +1 -1
- package/dist/modules/cart/components/CartItems/index.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/index.js +23 -4
- package/dist/modules/cart/components/CartItems/index.js.map +1 -1
- package/dist/modules/cart/components/CartItems/util.d.ts +6 -0
- package/dist/modules/cart/components/CartItems/util.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/util.js +47 -0
- package/dist/modules/cart/components/CartItems/util.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountProvider.d.ts","sourceRoot":"","sources":["../src/AccountProvider.js"],"names":[],"mappings":"AAoBO,yCAIN;AAEM;;;
|
|
1
|
+
{"version":3,"file":"AccountProvider.d.ts","sourceRoot":"","sources":["../src/AccountProvider.js"],"names":[],"mappings":"AAoBO,yCAIN;AAEM;;;sBAsEN;kBAhGwE,OAAO"}
|
package/dist/AccountProvider.js
CHANGED
|
@@ -54,8 +54,7 @@ export const AccountProvider = ({ children, ...props }) => {
|
|
|
54
54
|
}, []);
|
|
55
55
|
const handleProductClick = useCallback((product) => {
|
|
56
56
|
if (contextValue.productUrlPrefix) {
|
|
57
|
-
// Handle redirect for other project if productUrlPrefix is provided
|
|
58
|
-
// This can be implemented based on specific requirements
|
|
57
|
+
// TODO: Handle redirect for other project if productUrlPrefix is provided
|
|
59
58
|
}
|
|
60
59
|
else {
|
|
61
60
|
openPopup(contextValue.productPopup, { ...product, className: 'popup-product-block' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountProvider.js","sourceRoot":"","sources":["../src/AccountProvider.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AccountProvider.js","sourceRoot":"","sources":["../src/AccountProvider.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AccountCounter/index.js"],"names":[],"mappings":";AAOA;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AccountCounter/index.js"],"names":[],"mappings":";AAOA;;;;;;sBAmGC;kBA1GuD,OAAO"}
|
|
@@ -3,7 +3,7 @@ import { SpinLoader, Text, debounce } from '@weareconceptstudio/core';
|
|
|
3
3
|
import { useCart } from '@weareconceptstudio/cart';
|
|
4
4
|
//* Style
|
|
5
5
|
import AccountCounterStyle from './style';
|
|
6
|
-
const AccountCounter = ({ productId, qty = 1, isGift, maxQty, promotionId }) => {
|
|
6
|
+
const AccountCounter = ({ productId, qty = 1, isGift, maxQty = 99, promotionId }) => {
|
|
7
7
|
const { toggleCartItem, items, setGifts } = useCart();
|
|
8
8
|
//! States
|
|
9
9
|
const [count, setCount] = useState(qty);
|
|
@@ -33,6 +33,12 @@ const AccountCounter = ({ productId, qty = 1, isGift, maxQty, promotionId }) =>
|
|
|
33
33
|
// );
|
|
34
34
|
const handleAddToCart = (e, type = 'inc') => {
|
|
35
35
|
e.stopPropagation();
|
|
36
|
+
if (loading)
|
|
37
|
+
return;
|
|
38
|
+
if (type === 'inc' && count >= maxQty)
|
|
39
|
+
return;
|
|
40
|
+
if (type === 'dec' && count <= 0)
|
|
41
|
+
return;
|
|
36
42
|
const newCount = type === 'inc' ? count + 1 : count - 1;
|
|
37
43
|
isGift ? setGifts({ promotionId, qty: newCount, productId }) : updateCartServer(newCount);
|
|
38
44
|
// setCount(newCount);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/AccountCounter/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,SAAS;AACT,OAAO,mBAAmB,MAAM,SAAS,CAAC;AAE1C,MAAM,cAAc,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/AccountCounter/index.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/cart/CartTemplate/index.js"],"names":[],"mappings":";AAgCA;;;;;sBA2EC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/cart/CartTemplate/index.js"],"names":[],"mappings":";AAgCA;;;;;sBA2EC;kBA3GgC,OAAO"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useEffect
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
2
2
|
import { Page, useTranslation } from '@weareconceptstudio/core';
|
|
3
3
|
import { useCart } from '@weareconceptstudio/cart';
|
|
4
4
|
import { CartItems, EmptyCart } from '..';
|
|
@@ -17,7 +17,7 @@ import AccountPageWrapper from '../../../components/AccountPageWrapper';
|
|
|
17
17
|
const CartTemplate = ({ children, checkoutUrl = '/checkout/', moreMenu, emptyCartIcon }) => {
|
|
18
18
|
const { translate } = useTranslation();
|
|
19
19
|
const { shopUrl, cart } = useAccountContext();
|
|
20
|
-
const {
|
|
20
|
+
const { items, loading, toggleCartItem, deleteCartItem, getCart, mergeCart, isLoggedIn } = useCart();
|
|
21
21
|
// Fetch cart when component mounts (like old version)
|
|
22
22
|
useEffect(() => {
|
|
23
23
|
getCart();
|
|
@@ -32,7 +32,7 @@ const CartTemplate = ({ children, checkoutUrl = '/checkout/', moreMenu, emptyCar
|
|
|
32
32
|
React.createElement(TotalCheckout, { buttonProps: {
|
|
33
33
|
url: checkoutUrl,
|
|
34
34
|
text: 'account.cart_checkout.proceedToCheckout',
|
|
35
|
-
} }, !loading ? (
|
|
35
|
+
} }, !loading ? (items?.length > 0 ? (React.createElement(React.Fragment, null,
|
|
36
36
|
shopUrl ? (React.createElement(AccountButton, { url: shopUrl, btnType: `purple-text`, className: `back-to-shop` },
|
|
37
37
|
leftArrow,
|
|
38
38
|
translate('account.general_actions.backToShop'))) : null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/cart/CartTemplate/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/cart/CartTemplate/index.js"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export default OutOfStockBadge;
|
|
2
|
-
declare function OutOfStockBadge({
|
|
3
|
-
|
|
2
|
+
declare function OutOfStockBadge({ hasOutOfStock, productOutOfStock, isItemInStock, messageData, fallbackMessage, qtyAdjusted, }: {
|
|
3
|
+
hasOutOfStock: any;
|
|
4
|
+
productOutOfStock: any;
|
|
5
|
+
isItemInStock: any;
|
|
6
|
+
messageData: any;
|
|
7
|
+
fallbackMessage: any;
|
|
8
|
+
qtyAdjusted: any;
|
|
4
9
|
}): React.JSX.Element;
|
|
5
10
|
import React from 'react';
|
|
6
11
|
//# sourceMappingURL=OutOfStockBadge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutOfStockBadge.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/Item/OutOfStockBadge.js"],"names":[],"mappings":";AAGA
|
|
1
|
+
{"version":3,"file":"OutOfStockBadge.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/Item/OutOfStockBadge.js"],"names":[],"mappings":";AAGA;;;;;;;sBA6BC;kBAhCiB,OAAO"}
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
const OutOfStockBadge = ({
|
|
4
|
-
|
|
2
|
+
import { useTranslation } from '@weareconceptstudio/core';
|
|
3
|
+
const OutOfStockBadge = ({ hasOutOfStock, productOutOfStock, isItemInStock, messageData, fallbackMessage, qtyAdjusted, }) => {
|
|
4
|
+
const { translate } = useTranslation();
|
|
5
|
+
const messageType = messageData?.type || (qtyAdjusted ? 'qty_adjusted' : null);
|
|
6
|
+
const message = messageData?.message || fallbackMessage || null;
|
|
7
|
+
const isQtyAdjusted = messageType === 'qty_adjusted' && message;
|
|
8
|
+
const isItemUnavailable = typeof isItemInStock === 'boolean' ? !isItemInStock : false;
|
|
9
|
+
const isRemovedOrOut = messageType === 'out_of_stock' || messageType === 'item_removed';
|
|
10
|
+
const shouldShowOutOfStock = isRemovedOrOut || (hasOutOfStock && (productOutOfStock || isItemUnavailable));
|
|
11
|
+
const shouldShow = shouldShowOutOfStock || isQtyAdjusted;
|
|
12
|
+
if (!shouldShow) {
|
|
5
13
|
return null;
|
|
6
|
-
|
|
14
|
+
}
|
|
15
|
+
const textContent = isQtyAdjusted ? message : translate('account.general_actions.outOfStock');
|
|
16
|
+
const textClass = isQtyAdjusted ? 'account-secondary-color2' : 'account-error-color';
|
|
17
|
+
return (React.createElement("div", { className: `account-p account-p3 account-font-bold ${textClass} out-of-stock-styles` }, textContent));
|
|
7
18
|
};
|
|
8
19
|
export default OutOfStockBadge;
|
|
9
20
|
//# sourceMappingURL=OutOfStockBadge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutOfStockBadge.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/Item/OutOfStockBadge.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"OutOfStockBadge.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/Item/OutOfStockBadge.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,eAAe,GAAG,CAAC,EACxB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,eAAe,EACf,WAAW,GACX,EAAE,EAAE;IACJ,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,MAAM,WAAW,GAAG,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,eAAe,IAAI,IAAI,CAAC;IAChE,MAAM,aAAa,GAAG,WAAW,KAAK,cAAc,IAAI,OAAO,CAAC;IAEhE,MAAM,iBAAiB,GAAG,OAAO,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;IACtF,MAAM,cAAc,GAAG,WAAW,KAAK,cAAc,IAAI,WAAW,KAAK,cAAc,CAAC;IACxF,MAAM,oBAAoB,GAAG,cAAc,IAAI,CAAC,aAAa,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,CAAC,CAAC;IAC3G,MAAM,UAAU,GAAG,oBAAoB,IAAI,aAAa,CAAC;IAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAErF,OAAO,CACN,6BAAK,SAAS,EAAE,0CAA0C,SAAS,sBAAsB,IAAG,WAAW,CAAO,CAC9G,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuantitySelector.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/Item/QuantitySelector.js"],"names":[],"mappings":";AAKA;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"QuantitySelector.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/Item/QuantitySelector.js"],"names":[],"mappings":";AAKA;;;;;;;;;;sBAuGC;kBA5GiB,OAAO"}
|
|
@@ -3,15 +3,33 @@ import { Text } from '@weareconceptstudio/core';
|
|
|
3
3
|
import { Select } from '@weareconceptstudio/form';
|
|
4
4
|
import { AccountButton, AccountCounter } from '../../../../../components';
|
|
5
5
|
const QuantitySelector = ({ select, data, selectionList, actions, hasVariants, checkoutData, setGifts, isCheckoutPage, itemGiftQty, }) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const rawMaxQty = data?.maxQty ??
|
|
7
|
+
data?.availableQty ??
|
|
8
|
+
data?.selectedOption?.availableQty ??
|
|
9
|
+
data?.selectedOption?.qty ??
|
|
10
|
+
data?.selectedOption?.maxQty ??
|
|
11
|
+
data?.selectedOption?.max_qty ??
|
|
12
|
+
data?.product?.qty ??
|
|
13
|
+
data?.product?.quantity ??
|
|
14
|
+
data?.product?.stock;
|
|
15
|
+
const numericMaxQty = Number(rawMaxQty);
|
|
16
|
+
const normalizedMaxQty = Number.isFinite(numericMaxQty) ? numericMaxQty : 0;
|
|
17
|
+
const currentQtyNumeric = Number(data?.qty);
|
|
18
|
+
const hasCurrentQty = Number.isFinite(currentQtyNumeric) && currentQtyNumeric > 0;
|
|
19
|
+
const hasSelectableQty = Array.isArray(selectionList) && selectionList.length > 0;
|
|
20
|
+
const hasAvailableQty = normalizedMaxQty > 0 || hasCurrentQty;
|
|
21
|
+
const canUseSelection = hasVariants ? hasSelectableQty : hasAvailableQty;
|
|
22
|
+
const isItemOutOfStock = data?.product?.out_of_stock || data?.isInStock === false || !canUseSelection;
|
|
23
|
+
const counterMaxQty = normalizedMaxQty > 0 ? normalizedMaxQty : Math.max(hasCurrentQty ? currentQtyNumeric : 1, 1);
|
|
24
|
+
// For variants and non-variants items with selection
|
|
25
|
+
if (select && !data?.is_gift && !isItemOutOfStock) {
|
|
26
|
+
return (React.createElement("div", { className: `select-and-out-of-stock-wrap` }, hasVariants ? (React.createElement(Select, { options: selectionList || [], value: data?.qty, placeholder: data?.qty, onChange: (val) => actions.add({
|
|
9
27
|
itemId: data?.id,
|
|
10
28
|
productId: data?.product?.id,
|
|
11
29
|
variantId: data?.selectedVariant?.id,
|
|
12
30
|
optionId: data?.selectedOption?.id,
|
|
13
31
|
qty: val,
|
|
14
|
-
}) })) : (React.createElement(AccountCounter, { productId: data?.product?.id
|
|
32
|
+
}) })) : (React.createElement(AccountCounter, { productId: data?.product?.id, maxQty: counterMaxQty }))));
|
|
15
33
|
}
|
|
16
34
|
// For gift items (not on checkout page)
|
|
17
35
|
if (data?.is_gift && !isCheckoutPage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuantitySelector.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/Item/QuantitySelector.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,gBAAgB,GAAG,CAAC,EACzB,MAAM,EACN,IAAI,EACJ,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,WAAW,GACX,EAAE,EAAE;IACJ,
|
|
1
|
+
{"version":3,"file":"QuantitySelector.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/Item/QuantitySelector.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/Item/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/Item/index.js"],"names":[],"mappings":";AAeA,uDA6HG;kBA5IkC,OAAO"}
|
|
@@ -11,26 +11,27 @@ import QuantitySelector from './QuantitySelector';
|
|
|
11
11
|
import PriceDisplay from './PriceDisplay';
|
|
12
12
|
import TotalDisplay from './TotalDisplay';
|
|
13
13
|
import ItemActions from './ItemActions';
|
|
14
|
-
|
|
14
|
+
import { getSelectableQuantityList } from '../util';
|
|
15
|
+
const Item = memo(({ data, remove, select, isLast, actions, isStock, edit, favorite, selectionList, messageData }) => {
|
|
15
16
|
const { openPopup } = useUi();
|
|
16
17
|
const { checkoutData, setGifts, isCheckoutPage, isCartPage } = useCart();
|
|
17
18
|
const { currency, handleProductClick, globalSettings: { hasVariants, hasOutOfStock }, CartItemEditFavoriteButton, } = useAccountContext();
|
|
18
|
-
const
|
|
19
|
-
if (select) {
|
|
20
|
-
|
|
21
|
-
for (let index = 1; index <= data?.selectedOption?.qty; index++) {
|
|
22
|
-
selectList.push({ id: index, name: index });
|
|
23
|
-
}
|
|
24
|
-
return selectList;
|
|
19
|
+
const resolvedSelectionList = useMemo(() => {
|
|
20
|
+
if (!select) {
|
|
21
|
+
return [];
|
|
25
22
|
}
|
|
26
|
-
|
|
23
|
+
if (Array.isArray(selectionList) && selectionList.length > 0) {
|
|
24
|
+
return selectionList;
|
|
25
|
+
}
|
|
26
|
+
return getSelectableQuantityList(data);
|
|
27
|
+
}, [select, selectionList, data]);
|
|
27
28
|
const itemGiftQty = useMemo(() => {
|
|
28
29
|
return checkoutData?.gifts?.find((item) => item?.promotionId === data?.appliedPromotion?.id && item?.productId === data?.product?.id)?.qty;
|
|
29
30
|
}, [checkoutData?.gifts, data?.appliedPromotion?.id, data?.product?.id]);
|
|
30
|
-
const
|
|
31
|
+
const itemIsInStock = isStock();
|
|
31
32
|
return !isCheckoutPage || itemGiftQty !== 0 ? (React.createElement("div", { className: `item-wrap user-select-none` },
|
|
32
33
|
React.createElement("div", { className: 'line' }),
|
|
33
|
-
React.createElement(OutOfStockBadge, {
|
|
34
|
+
React.createElement(OutOfStockBadge, { hasOutOfStock: hasOutOfStock, productOutOfStock: data.product?.out_of_stock, isItemInStock: itemIsInStock, messageData: messageData, fallbackMessage: data?.message, qtyAdjusted: data?.qtyAdjusted }),
|
|
34
35
|
React.createElement("div", { className: `item-inner-wrapper` },
|
|
35
36
|
React.createElement("div", { className: `col-item tl-col-1 col-item-1` },
|
|
36
37
|
React.createElement(ItemImage, { isGift: data?.is_gift, hasVariants: hasVariants, selectedVariant: data.selectedVariant, product: data?.product }),
|
|
@@ -39,7 +40,7 @@ const Item = memo(({ data, remove, select, isLast, actions, isStock, edit, favor
|
|
|
39
40
|
React.createElement(ItemAttributes, { selectedVariant: data?.selectedVariant, selectedOption: data?.selectedOption, product: data?.product }),
|
|
40
41
|
React.createElement(EditButton, { edit: edit, isOutOfStock: data.product?.out_of_stock, hasVariants: hasVariants, openPopup: openPopup, data: data, isCartPage: isCartPage }))),
|
|
41
42
|
React.createElement("div", { className: `col-item tl-col-2` },
|
|
42
|
-
React.createElement(QuantitySelector, { select: select, data: data, selectionList:
|
|
43
|
+
React.createElement(QuantitySelector, { select: select, data: data, selectionList: resolvedSelectionList, actions: actions, hasVariants: hasVariants, checkoutData: checkoutData, setGifts: setGifts, isCheckoutPage: isCheckoutPage, itemGiftQty: itemGiftQty })),
|
|
43
44
|
React.createElement("div", { className: `col-item tl-col-3 col-item-3 align-right` },
|
|
44
45
|
React.createElement(PriceDisplay, { data: data, hasVariants: hasVariants, currency: currency })),
|
|
45
46
|
React.createElement("div", { className: `col-item tl-col-4 col-item-4 align-right` },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/Item/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,WAAW,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/Item/index.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileItemAttributes.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.js"],"names":[],"mappings":";AAGA;;;;
|
|
1
|
+
{"version":3,"file":"MobileItemAttributes.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.js"],"names":[],"mappings":";AAGA;;;;sBAkEC;kBArEiB,OAAO"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Text } from '@weareconceptstudio/core';
|
|
2
|
+
import { Text, useTranslation } from '@weareconceptstudio/core';
|
|
3
3
|
const MobileItemAttributes = ({ selectedVariant, selectedOption, product }) => {
|
|
4
|
+
const { translate } = useTranslation();
|
|
4
5
|
const renderFirstAttribute = () => {
|
|
5
6
|
if (selectedVariant?.color.name) {
|
|
6
7
|
return (React.createElement("div", { className: `mobile-info-item` },
|
|
7
|
-
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1
|
|
8
|
-
|
|
8
|
+
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1` },
|
|
9
|
+
translate('account.general_actions.color'),
|
|
10
|
+
": \u00A0"),
|
|
9
11
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize`, text: selectedVariant.color.name })));
|
|
10
12
|
}
|
|
11
13
|
if (product.short_info_1) {
|
|
@@ -17,9 +19,10 @@ const MobileItemAttributes = ({ selectedVariant, selectedOption, product }) => {
|
|
|
17
19
|
const renderSecondAttribute = () => {
|
|
18
20
|
if (selectedOption?.size.name) {
|
|
19
21
|
return (React.createElement("div", { className: `mobile-info-item` },
|
|
20
|
-
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1` },
|
|
23
|
+
translate('account.general_actions.size'),
|
|
24
|
+
": \u00A0"),
|
|
25
|
+
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize` }, selectedOption.size.name)));
|
|
23
26
|
}
|
|
24
27
|
if (product.short_info_2) {
|
|
25
28
|
return (React.createElement("div", { className: 'mobile-info-item' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileItemAttributes.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"MobileItemAttributes.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,oBAAoB,GAAG,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7E,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,MAAM,oBAAoB,GAAG,GAAG,EAAE;QACjC,IAAI,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,CACN,6BAAK,SAAS,EAAE,kBAAkB;gBACjC,oBAAC,IAAI,IAAC,SAAS,EAAE,iEAAiE;oBAChF,SAAS,CAAC,+BAA+B,CAAC;+BACrC;gBACP,oBAAC,IAAI,IACJ,SAAS,EAAE,4EAA4E,EACvF,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,GAC/B,CACG,CACN,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,CACN,6BAAK,SAAS,EAAC,kBAAkB;gBAChC,oBAAC,IAAI,IACJ,SAAS,EAAE,oFAAoF,EAC/F,IAAI,EAAE,OAAO,CAAC,YAAY,GACzB,CACG,CACN,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;QAClC,IAAI,cAAc,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO,CACN,6BAAK,SAAS,EAAE,kBAAkB;gBACjC,oBAAC,IAAI,IAAC,SAAS,EAAE,iEAAiE;oBAChF,SAAS,CAAC,8BAA8B,CAAC;+BACpC;gBACP,oBAAC,IAAI,IAAC,SAAS,EAAE,4EAA4E,IAC3F,cAAc,CAAC,IAAI,CAAC,IAAI,CACnB,CACF,CACN,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,CACN,6BAAK,SAAS,EAAC,kBAAkB;gBAChC,oBAAC,IAAI,IACJ,SAAS,EAAE,oFAAoF,EAC/F,IAAI,EAAE,OAAO,CAAC,YAAY,GACzB,CACG,CACN,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;IAEF,OAAO,CACN;QACE,oBAAoB,EAAE;QACtB,qBAAqB,EAAE,CACtB,CACH,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileItemQuantity.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js"],"names":[],"mappings":";AAKA;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"MobileItemQuantity.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js"],"names":[],"mappings":";AAKA;;;;;;;;;;sBAsJC;kBA3JiB,OAAO"}
|
|
@@ -4,28 +4,48 @@ import { Select } from '@weareconceptstudio/form';
|
|
|
4
4
|
import { AccountButton, AccountCounter } from '../../../../../components';
|
|
5
5
|
const MobileItemQuantity = ({ hasVariants, select, data, selectionList, actions, checkoutData, setGifts, isCheckoutPage, itemGiftQty, }) => {
|
|
6
6
|
const { translate } = useTranslation();
|
|
7
|
+
const rawMaxQty = data?.maxQty ??
|
|
8
|
+
data?.availableQty ??
|
|
9
|
+
data?.selectedOption?.availableQty ??
|
|
10
|
+
data?.selectedOption?.qty ??
|
|
11
|
+
data?.selectedOption?.maxQty ??
|
|
12
|
+
data?.selectedOption?.max_qty ??
|
|
13
|
+
data?.product?.qty ??
|
|
14
|
+
data?.product?.quantity ??
|
|
15
|
+
data?.product?.stock;
|
|
16
|
+
const numericMaxQty = Number(rawMaxQty);
|
|
17
|
+
const normalizedMaxQty = Number.isFinite(numericMaxQty) ? numericMaxQty : 0;
|
|
18
|
+
const currentQtyNumeric = Number(data?.qty);
|
|
19
|
+
const hasCurrentQty = Number.isFinite(currentQtyNumeric) && currentQtyNumeric > 0;
|
|
20
|
+
const hasSelectableQty = Array.isArray(selectionList) && selectionList.length > 0;
|
|
21
|
+
const hasAvailableQty = normalizedMaxQty > 0 || hasCurrentQty;
|
|
22
|
+
const canUseSelection = hasVariants ? hasSelectableQty : hasAvailableQty;
|
|
23
|
+
const isItemOutOfStock = data?.product?.out_of_stock || data?.isInStock === false || !canUseSelection;
|
|
24
|
+
const counterMaxQty = normalizedMaxQty > 0 ? normalizedMaxQty : Math.max(hasCurrentQty ? currentQtyNumeric : 1, 1);
|
|
7
25
|
// For variants with quantity selector
|
|
8
26
|
if (hasVariants) {
|
|
9
27
|
if (select && !data?.is_gift) {
|
|
10
|
-
return (React.createElement("div", { className: `select-and-out-of-stock-mobile-wrap` }, !
|
|
28
|
+
return (React.createElement("div", { className: `select-and-out-of-stock-mobile-wrap` }, !isItemOutOfStock ? (React.createElement(Select, { className: `quantity-select-mobile-wrap`, options: selectionList || [], value: data?.qty, onChange: (val) => actions.add({
|
|
11
29
|
itemId: data?.id,
|
|
12
30
|
productId: data?.product?.id,
|
|
13
31
|
variantId: data?.selectedVariant?.id,
|
|
14
32
|
optionId: data?.selectedOption?.id,
|
|
15
33
|
qty: val,
|
|
16
34
|
}) })) : (React.createElement("div", { className: `mobile-info-item` },
|
|
17
|
-
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize
|
|
18
|
-
|
|
35
|
+
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize` },
|
|
36
|
+
translate('account.order_balance.quantity'),
|
|
37
|
+
": \u00A0"),
|
|
19
38
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize`, text: data?.qty })))));
|
|
20
39
|
}
|
|
21
40
|
return (React.createElement("div", { className: `mobile-info-item` },
|
|
22
|
-
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize
|
|
23
|
-
|
|
41
|
+
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize` },
|
|
42
|
+
translate('account.order_balance.quantity'),
|
|
43
|
+
": \u00A0"),
|
|
24
44
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1`, text: data?.qty })));
|
|
25
45
|
}
|
|
26
46
|
// For non-variants
|
|
27
47
|
if (select && !data?.is_gift) {
|
|
28
|
-
return (React.createElement("div", { className: `inner-container` }, !
|
|
48
|
+
return (React.createElement("div", { className: `inner-container` }, !isItemOutOfStock ? (React.createElement(AccountCounter, { productId: data?.product.id, maxQty: counterMaxQty })) : (React.createElement("div", { className: `in-block` },
|
|
29
49
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1`, text: 'account.general_actions.outOfStock' })))));
|
|
30
50
|
}
|
|
31
51
|
if (data?.is_gift && !isCheckoutPage) {
|
|
@@ -39,8 +59,7 @@ const MobileItemQuantity = ({ hasVariants, select, data, selectionList, actions,
|
|
|
39
59
|
return (React.createElement("div", { className: `in-block` },
|
|
40
60
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 mobile-quantity-with-symbol2` },
|
|
41
61
|
translate('account.order_balance.quantity'),
|
|
42
|
-
":"),
|
|
43
|
-
"\u00A0",
|
|
62
|
+
": \u00A0"),
|
|
44
63
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 mobile-quantity2`, text: data?.is_gift ? itemGiftQty : data?.qty })));
|
|
45
64
|
};
|
|
46
65
|
export default MobileItemQuantity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileItemQuantity.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,kBAAkB,GAAG,CAAC,EAC3B,WAAW,EACX,MAAM,EACN,IAAI,EACJ,aAAa,EACb,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,WAAW,GACX,EAAE,EAAE;IACJ,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MobileItemQuantity.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export default MobileOutOfStockBadge;
|
|
2
|
-
declare function MobileOutOfStockBadge({
|
|
3
|
-
|
|
2
|
+
declare function MobileOutOfStockBadge({ hasOutOfStock, productOutOfStock, isItemInStock, messageData, fallbackMessage, qtyAdjusted, }: {
|
|
3
|
+
hasOutOfStock: any;
|
|
4
|
+
productOutOfStock: any;
|
|
5
|
+
isItemInStock: any;
|
|
6
|
+
messageData: any;
|
|
7
|
+
fallbackMessage: any;
|
|
8
|
+
qtyAdjusted: any;
|
|
4
9
|
}): React.JSX.Element;
|
|
5
10
|
import React from 'react';
|
|
6
11
|
//# sourceMappingURL=MobileOutOfStockBadge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileOutOfStockBadge.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js"],"names":[],"mappings":";AAGA
|
|
1
|
+
{"version":3,"file":"MobileOutOfStockBadge.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js"],"names":[],"mappings":";AAGA;;;;;;;sBA2BC;kBA9BiB,OAAO"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
const MobileOutOfStockBadge = ({
|
|
4
|
-
|
|
2
|
+
import { useTranslation } from '@weareconceptstudio/core';
|
|
3
|
+
const MobileOutOfStockBadge = ({ hasOutOfStock, productOutOfStock, isItemInStock, messageData, fallbackMessage, qtyAdjusted, }) => {
|
|
4
|
+
const { translate } = useTranslation();
|
|
5
|
+
const messageType = messageData?.type || (qtyAdjusted ? 'qty_adjusted' : null);
|
|
6
|
+
const message = messageData?.message || fallbackMessage || null;
|
|
7
|
+
const isQtyAdjusted = messageType === 'qty_adjusted' && message;
|
|
8
|
+
const isItemUnavailable = typeof isItemInStock === 'boolean' ? !isItemInStock : false;
|
|
9
|
+
const isRemovedOrOut = messageType === 'out_of_stock' || messageType === 'item_removed';
|
|
10
|
+
const shouldShowOutOfStock = isRemovedOrOut || (hasOutOfStock && (productOutOfStock || isItemUnavailable));
|
|
11
|
+
const shouldShow = shouldShowOutOfStock || isQtyAdjusted;
|
|
12
|
+
if (!shouldShow) {
|
|
5
13
|
return null;
|
|
6
14
|
}
|
|
7
|
-
|
|
15
|
+
const textContent = isQtyAdjusted ? message : translate('account.general_actions.outOfStock');
|
|
16
|
+
const textClass = isQtyAdjusted ? 'account-secondary-color2' : 'account-error-color';
|
|
17
|
+
return React.createElement("div", { className: `account-p account-p3 account-font-bold ${textClass} out-of-stock-mt` }, textContent);
|
|
8
18
|
};
|
|
9
19
|
export default MobileOutOfStockBadge;
|
|
10
20
|
//# sourceMappingURL=MobileOutOfStockBadge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileOutOfStockBadge.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MobileOutOfStockBadge.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,qBAAqB,GAAG,CAAC,EAC9B,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,eAAe,EACf,WAAW,GACX,EAAE,EAAE;IACJ,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,MAAM,WAAW,GAAG,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,eAAe,IAAI,IAAI,CAAC;IAChE,MAAM,aAAa,GAAG,WAAW,KAAK,cAAc,IAAI,OAAO,CAAC;IAEhE,MAAM,iBAAiB,GAAG,OAAO,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;IACtF,MAAM,cAAc,GAAG,WAAW,KAAK,cAAc,IAAI,WAAW,KAAK,cAAc,CAAC;IACxF,MAAM,oBAAoB,GAAG,cAAc,IAAI,CAAC,aAAa,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,CAAC,CAAC;IAC3G,MAAM,UAAU,GAAG,oBAAoB,IAAI,aAAa,CAAC;IAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAErF,OAAO,6BAAK,SAAS,EAAE,0CAA0C,SAAS,kBAAkB,IAAG,WAAW,CAAO,CAAC;AACnH,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/index.js"],"names":[],"mappings":";AAcA,6DA6HG;kBA3IkC,OAAO"}
|
|
@@ -10,36 +10,37 @@ import MobileItemQuantity from './MobileItemQuantity';
|
|
|
10
10
|
import MobileItemPrice from './MobileItemPrice';
|
|
11
11
|
import MobileItemTotal from './MobileItemTotal';
|
|
12
12
|
import MobileItemActions from './MobileItemActions';
|
|
13
|
-
|
|
13
|
+
import { getSelectableQuantityList } from '../util';
|
|
14
|
+
const ItemMobile = memo(({ data, remove, select, actions, isStock, edit, favorite, selectionList, messageData }) => {
|
|
14
15
|
const { openPopup } = useUi();
|
|
15
16
|
const { checkoutData, setGifts, isCheckoutPage, isCartPage } = useCart();
|
|
16
17
|
const { currency, handleProductClick, globalSettings: { hasVariants, hasOutOfStock }, CartItemEditFavoriteButton, } = useAccountContext();
|
|
17
|
-
const
|
|
18
|
-
if (select) {
|
|
19
|
-
|
|
20
|
-
for (let index = 1; index <= data?.selectedOption?.qty; index++) {
|
|
21
|
-
selectList.push({ id: index, name: index });
|
|
22
|
-
}
|
|
23
|
-
return selectList;
|
|
18
|
+
const resolvedSelectionList = useMemo(() => {
|
|
19
|
+
if (!select) {
|
|
20
|
+
return [];
|
|
24
21
|
}
|
|
25
|
-
|
|
22
|
+
if (Array.isArray(selectionList) && selectionList.length > 0) {
|
|
23
|
+
return selectionList;
|
|
24
|
+
}
|
|
25
|
+
return getSelectableQuantityList(data);
|
|
26
|
+
}, [select, selectionList, data]);
|
|
26
27
|
const itemGiftQty = useMemo(() => {
|
|
27
28
|
return checkoutData.gifts.find((item) => item.promotionId === data?.appliedPromotion?.id && item.productId === data?.product.id)?.qty;
|
|
28
29
|
}, [checkoutData.gifts, data?.appliedPromotion?.id, data?.product.id]);
|
|
29
|
-
const
|
|
30
|
+
const itemIsInStock = isStock();
|
|
30
31
|
return !isCheckoutPage || itemGiftQty !== 0 ? (React.createElement(React.Fragment, null,
|
|
31
32
|
React.createElement("div", { className: `mobile-cart-item-wrap user-select-none` },
|
|
32
|
-
|
|
33
|
+
React.createElement(MobileOutOfStockBadge, { hasOutOfStock: hasOutOfStock, productOutOfStock: data?.product?.out_of_stock, isItemInStock: itemIsInStock, messageData: messageData, fallbackMessage: data?.message, qtyAdjusted: data?.qtyAdjusted }),
|
|
33
34
|
React.createElement("div", { className: `mobile-cart-item-inner-wrap` },
|
|
34
35
|
React.createElement(MobileItemImage, { isGift: data?.is_gift, hasVariants: hasVariants, selectedVariant: data?.selectedVariant, product: data?.product }),
|
|
35
36
|
React.createElement("div", { className: `mobile-info-wrap` },
|
|
36
37
|
React.createElement(MobileItemTitle, { product: data?.product, hasVariants: hasVariants, handleProductClick: handleProductClick, isCartPage: isCartPage, isCheckoutPage: isCheckoutPage }),
|
|
37
38
|
React.createElement(MobileItemAttributes, { selectedVariant: data?.selectedVariant, selectedOption: data?.selectedOption, product: data?.product }),
|
|
38
|
-
hasVariants && (React.createElement(MobileItemQuantity, { hasVariants: hasVariants, select: select, data: data, selectionList:
|
|
39
|
+
hasVariants && (React.createElement(MobileItemQuantity, { hasVariants: hasVariants, select: select, data: data, selectionList: resolvedSelectionList, actions: actions, checkoutData: checkoutData, setGifts: setGifts, isCheckoutPage: isCheckoutPage, itemGiftQty: itemGiftQty })),
|
|
39
40
|
React.createElement(MobileItemPrice, { data: data, hasVariants: hasVariants, currency: currency }),
|
|
40
41
|
React.createElement("div", { className: `mobile-total-price-wrap ${hasVariants ? '' : 'flex-box'}` },
|
|
41
42
|
React.createElement(MobileItemTotal, { data: data, hasVariants: hasVariants, currency: currency }),
|
|
42
|
-
!hasVariants && (React.createElement(MobileItemQuantity, { hasVariants: hasVariants, select: select, data: data, selectionList:
|
|
43
|
+
!hasVariants && (React.createElement(MobileItemQuantity, { hasVariants: hasVariants, select: select, data: data, selectionList: resolvedSelectionList, actions: actions, checkoutData: checkoutData, setGifts: setGifts, isCheckoutPage: isCheckoutPage, itemGiftQty: itemGiftQty })))))),
|
|
43
44
|
React.createElement(MobileItemActions, { edit: edit, favorite: favorite, remove: remove, data: data, hasVariants: hasVariants, isCartPage: isCartPage, openPopup: openPopup, CartItemEditFavoriteButton: CartItemEditFavoriteButton, actions: actions }),
|
|
44
45
|
React.createElement("div", { className: 'line' }))) : null;
|
|
45
46
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEpD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;IAClH,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,CAAC;IAC9B,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IACzE,MAAM,EACL,QAAQ,EACR,kBAAkB,EAClB,cAAc,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,EAC9C,0BAA0B,GAC1B,GAAG,iBAAiB,EAAE,CAAC;IAExB,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACX,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,aAAa,CAAC;QACtB,CAAC;QAED,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;IAElC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,gBAAgB,EAAE,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,CAChG,EAAE,GAAG,CAAC;IACR,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvE,MAAM,aAAa,GAAG,OAAO,EAAE,CAAC;IAEhC,OAAO,CAAC,cAAc,IAAI,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAC7C;QACC,6BAAK,SAAS,EAAE,wCAAwC;YACvD,oBAAC,qBAAqB,IACrB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAC9C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,IAAI,EAAE,OAAO,EAC9B,WAAW,EAAE,IAAI,EAAE,WAAW,GAC7B;YAEF,6BAAK,SAAS,EAAE,6BAA6B;gBAC5C,oBAAC,eAAe,IACf,MAAM,EAAE,IAAI,EAAE,OAAO,EACrB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,IAAI,EAAE,eAAe,EACtC,OAAO,EAAE,IAAI,EAAE,OAAO,GACrB;gBAEF,6BAAK,SAAS,EAAE,kBAAkB;oBACjC,oBAAC,eAAe,IACf,OAAO,EAAE,IAAI,EAAE,OAAO,EACtB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,GAC7B;oBAEF,oBAAC,oBAAoB,IACpB,eAAe,EAAE,IAAI,EAAE,eAAe,EACtC,cAAc,EAAE,IAAI,EAAE,cAAc,EACpC,OAAO,EAAE,IAAI,EAAE,OAAO,GACrB;oBAED,WAAW,IAAI,CACf,oBAAC,kBAAkB,IAClB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,qBAAqB,EACpC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,GACvB,CACF;oBAED,oBAAC,eAAe,IACf,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,GACjB;oBAEF,6BAAK,SAAS,EAAE,2BAA2B,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE;wBACzE,oBAAC,eAAe,IACf,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,GACjB;wBAED,CAAC,WAAW,IAAI,CAChB,oBAAC,kBAAkB,IAClB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,qBAAqB,EACpC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,GACvB,CACF,CACI,CACD,CACD,CACD;QAEN,oBAAC,iBAAiB,IACjB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,0BAA0B,EAAE,0BAA0B,EACtD,OAAO,EAAE,OAAO,GACf;QAEF,6BAAK,SAAS,EAAC,MAAM,GAAG,CACtB,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;AACV,CAAC,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/index.js"],"names":[],"mappings":";AAaA,4DA8IG;kBA3JkC,OAAO"}
|
|
@@ -5,15 +5,34 @@ import { useCart } from '@weareconceptstudio/cart';
|
|
|
5
5
|
import Item from './Item';
|
|
6
6
|
import ItemMobile from './ItemMobile';
|
|
7
7
|
import { AccountButton } from '../../../../components';
|
|
8
|
+
import { getSelectableQuantityList, isItemInStock } from './util';
|
|
8
9
|
//* Style
|
|
9
10
|
import CartItemsStyle from './style';
|
|
10
11
|
const CartItems = memo(({ className, title, additionalParameters, actions }) => {
|
|
11
12
|
const { winWidth } = useUi();
|
|
12
|
-
const { items } = useCart();
|
|
13
|
+
const { items, messages } = useCart();
|
|
14
|
+
const getItemKey = (item) => {
|
|
15
|
+
return item?.id ?? item?.itemId ?? `${item?.product?.id || 'product'}-${item?.variantId || 'variant'}-${item?.optionId || 'option'}`;
|
|
16
|
+
};
|
|
13
17
|
//! Check is item stock
|
|
14
18
|
const checkIsStock = (currentItem) => {
|
|
15
|
-
return currentItem
|
|
19
|
+
return isItemInStock(currentItem);
|
|
16
20
|
};
|
|
21
|
+
const selectOptionsMap = useMemo(() => {
|
|
22
|
+
return items.reduce((acc, item) => {
|
|
23
|
+
const key = getItemKey(item);
|
|
24
|
+
acc[key] = getSelectableQuantityList(item);
|
|
25
|
+
return acc;
|
|
26
|
+
}, {});
|
|
27
|
+
}, [items]);
|
|
28
|
+
const itemMessagesMap = useMemo(() => {
|
|
29
|
+
return (messages || []).reduce((acc, message) => {
|
|
30
|
+
if (message?.item_id) {
|
|
31
|
+
acc[message.item_id] = message;
|
|
32
|
+
}
|
|
33
|
+
return acc;
|
|
34
|
+
}, {});
|
|
35
|
+
}, [messages]);
|
|
17
36
|
//! Store
|
|
18
37
|
const itemsStore = useMemo(() => {
|
|
19
38
|
return winWidth >= 768 ? (React.createElement("div", { className: `cart-items-table-wrap` },
|
|
@@ -28,11 +47,11 @@ const CartItems = memo(({ className, title, additionalParameters, actions }) =>
|
|
|
28
47
|
React.createElement(Text, { className: `account-p account-p3 account-font-bold account-primary-color1 nowrap align-right`, text: `account.order_balance.total` }))),
|
|
29
48
|
React.createElement("div", { className: `items-wrap` }, items?.length > 0
|
|
30
49
|
? items.map((item, index) => {
|
|
31
|
-
return (React.createElement(Item, { key: index, data: item, actions: actions, select: additionalParameters.select, remove: additionalParameters.remove, edit: additionalParameters.edit.item, favorite: additionalParameters.favorite, isStock: () => checkIsStock(item), isLast: items.length - 1 === index }));
|
|
50
|
+
return (React.createElement(Item, { key: item?.id ?? index, data: item, actions: actions, select: additionalParameters.select, remove: additionalParameters.remove, edit: additionalParameters.edit.item, favorite: additionalParameters.favorite, isStock: () => checkIsStock(item), isLast: items.length - 1 === index, selectionList: selectOptionsMap[getItemKey(item)], messageData: itemMessagesMap[item?.id] }));
|
|
32
51
|
})
|
|
33
52
|
: null))) : (React.createElement("div", { className: `mobile-cart-items-table-wrap` }, items?.length > 0
|
|
34
53
|
? items.map((item, index) => {
|
|
35
|
-
return (React.createElement(ItemMobile, { key: index, data: item, actions: actions, select: additionalParameters.select, remove: additionalParameters.remove, edit: additionalParameters.edit.item, favorite: additionalParameters.favorite, isStock: () => checkIsStock(item) }));
|
|
54
|
+
return (React.createElement(ItemMobile, { key: item?.id ?? index, data: item, actions: actions, select: additionalParameters.select, remove: additionalParameters.remove, edit: additionalParameters.edit.item, favorite: additionalParameters.favorite, isStock: () => checkIsStock(item), selectionList: selectOptionsMap[getItemKey(item)], messageData: itemMessagesMap[item?.id] }));
|
|
36
55
|
})
|
|
37
56
|
: null));
|
|
38
57
|
}, [winWidth, items, additionalParameters, actions]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,cAAc;AACd,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/index.js"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
export const defaultIconGift: React.JSX.Element;
|
|
2
|
+
export function resolveAvailableQty(item: any): number;
|
|
3
|
+
export function isItemInStock(item: any): boolean;
|
|
4
|
+
export function getSelectableQuantityList(item: any): {
|
|
5
|
+
id: number;
|
|
6
|
+
name: number;
|
|
7
|
+
}[];
|
|
2
8
|
import React from 'react';
|
|
3
9
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/util.js"],"names":[],"mappings":"AAEA,gDASE;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/util.js"],"names":[],"mappings":"AAEA,gDASE;AAEK,uDAsBN;AAEM,kDAeN;AAEM;;;IAYN;kBAlEiB,OAAO"}
|
|
@@ -1,4 +1,51 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export const defaultIconGift = (React.createElement("svg", { width: '14', height: '14', fill: 'none', viewBox: '0 0 14 14', xmlns: 'http://www.w3.org/2000/svg' },
|
|
3
3
|
React.createElement("path", { d: 'M7.78672 13.4663H11.846C12.1064 13.2066 12.252 13.061 12.5117 12.8006V7.95381H7.78672V13.4663ZM1.48672 7.95381V12.8006C1.74642 13.061 1.89202 13.2066 2.15242 13.4663H6.21172V7.95381H1.48672ZM9.55842 1.71471C10.418 1.71471 11.0186 2.81441 10.033 3.68381H7.75452L8.61202 2.22571C8.79752 1.90931 9.13772 1.71471 9.50452 1.71471H9.55842ZM2.33932 2.16341C2.20492 2.71431 2.28612 3.24281 2.51012 3.68381H1.36492C1.10452 3.94351 0.958919 4.08911 0.699219 4.34881V6.16811C0.958919 6.42781 1.10452 6.57341 1.36492 6.83381H12.6335C12.8939 6.57341 13.0395 6.42781 13.2992 6.16811V4.34881C13.0395 4.08911 12.8939 3.94351 12.6335 3.68381H11.4883C11.7123 3.24281 11.7935 2.71431 11.6591 2.16341C11.4211 1.19041 10.5076 0.53381 9.50662 0.53381H9.50452C8.71912 0.53381 7.99112 0.94961 7.59212 1.62651L6.99922 2.63731L6.40632 1.62861C6.00732 0.950311 5.27932 0.53381 4.49182 0.53381C3.49082 0.53381 2.57732 1.19041 2.33932 2.16341ZM5.38712 2.22641L6.24392 3.68381H3.96542C2.97982 2.81441 3.58042 1.71471 4.44002 1.71471H4.49392C4.86072 1.71471 5.20302 1.90931 5.38712 2.22641Z' })));
|
|
4
|
+
export const resolveAvailableQty = (item) => {
|
|
5
|
+
const candidates = [
|
|
6
|
+
item?.availableQty,
|
|
7
|
+
item?.maxQty,
|
|
8
|
+
item?.selectedOption?.availableQty,
|
|
9
|
+
item?.selectedOption?.qty,
|
|
10
|
+
item?.selectedOption?.maxQty,
|
|
11
|
+
item?.selectedOption?.max_qty,
|
|
12
|
+
item?.product?.availableQty,
|
|
13
|
+
item?.product?.qty,
|
|
14
|
+
item?.product?.quantity,
|
|
15
|
+
item?.product?.stock,
|
|
16
|
+
];
|
|
17
|
+
for (const value of candidates) {
|
|
18
|
+
const numericValue = Number(value);
|
|
19
|
+
if (Number.isFinite(numericValue)) {
|
|
20
|
+
return numericValue;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
};
|
|
25
|
+
export const isItemInStock = (item) => {
|
|
26
|
+
if (item?.isInStock === false)
|
|
27
|
+
return false;
|
|
28
|
+
if (item?.product?.out_of_stock)
|
|
29
|
+
return false;
|
|
30
|
+
const availableQty = resolveAvailableQty(item);
|
|
31
|
+
if (availableQty === null) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
const qty = Number(item?.qty);
|
|
35
|
+
if (!Number.isFinite(qty)) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return availableQty >= qty && availableQty > 0;
|
|
39
|
+
};
|
|
40
|
+
export const getSelectableQuantityList = (item) => {
|
|
41
|
+
const availableQty = resolveAvailableQty(item);
|
|
42
|
+
const limit = availableQty !== null && availableQty > 0 ? Math.floor(availableQty) : 0;
|
|
43
|
+
if (!limit) {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
return Array.from({ length: limit }, (_, index) => {
|
|
47
|
+
const value = index + 1;
|
|
48
|
+
return { id: value, name: value };
|
|
49
|
+
});
|
|
50
|
+
};
|
|
4
51
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/util.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,6BACC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B;IAClC,8BAAM,CAAC,EAAC,qiCAAqiC,GAAG,CAC3iC,CACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/util.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,6BACC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B;IAClC,8BAAM,CAAC,EAAC,qiCAAqiC,GAAG,CAC3iC,CACN,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,EAAE;IAC3C,MAAM,UAAU,GAAG;QAClB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,cAAc,EAAE,YAAY;QAClC,IAAI,EAAE,cAAc,EAAE,GAAG;QACzB,IAAI,EAAE,cAAc,EAAE,MAAM;QAC5B,IAAI,EAAE,cAAc,EAAE,OAAO;QAC7B,IAAI,EAAE,OAAO,EAAE,YAAY;QAC3B,IAAI,EAAE,OAAO,EAAE,GAAG;QAClB,IAAI,EAAE,OAAO,EAAE,QAAQ;QACvB,IAAI,EAAE,OAAO,EAAE,KAAK;KACpB,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,OAAO,YAAY,CAAC;QACrB,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE;IACrC,IAAI,IAAI,EAAE,SAAS,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,IAAI,EAAE,OAAO,EAAE,YAAY;QAAE,OAAO,KAAK,CAAC;IAE9C,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,YAAY,IAAI,GAAG,IAAI,YAAY,GAAG,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAAI,EAAE,EAAE;IACjD,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,YAAY,KAAK,IAAI,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvF,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@weareconceptstudio/account",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Concept Studio Account",
|
|
5
5
|
"author": "Concept Studio",
|
|
6
6
|
"license": "ISC",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"watch": "tsc -m es6 --watch"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
|
-
"@weareconceptstudio/cart": "^0.0.
|
|
24
|
+
"@weareconceptstudio/cart": "^0.0.2",
|
|
25
25
|
"@weareconceptstudio/core": "^0.4.7",
|
|
26
26
|
"@weareconceptstudio/form": "^0.5.0",
|
|
27
27
|
"classnames": "2.5.1",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"swiper": "11.1.14"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@weareconceptstudio/cart": "^0.0.
|
|
38
|
+
"@weareconceptstudio/cart": "^0.0.2",
|
|
39
39
|
"@weareconceptstudio/core": "^0.4.7",
|
|
40
40
|
"@weareconceptstudio/form": "^0.5.0",
|
|
41
41
|
"rimraf": "6.0.1",
|