@weareconceptstudio/account 2.0.1 → 2.0.3

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.
Files changed (63) hide show
  1. package/dist/AccountProvider.d.ts.map +1 -1
  2. package/dist/AccountProvider.js +19 -16
  3. package/dist/AccountProvider.js.map +1 -1
  4. package/dist/components/AccountCounter/index.d.ts +1 -1
  5. package/dist/components/AccountCounter/index.d.ts.map +1 -1
  6. package/dist/components/AccountCounter/index.js +7 -1
  7. package/dist/components/AccountCounter/index.js.map +1 -1
  8. package/dist/modules/address/AddressProvider.d.ts.map +1 -1
  9. package/dist/modules/address/AddressProvider.js +43 -32
  10. package/dist/modules/address/AddressProvider.js.map +1 -1
  11. package/dist/modules/address/ShippingBillingForm/index.js +2 -2
  12. package/dist/modules/address/ShippingBillingForm/index.js.map +1 -1
  13. package/dist/modules/cart/CartTemplate/index.d.ts.map +1 -1
  14. package/dist/modules/cart/CartTemplate/index.js +4 -5
  15. package/dist/modules/cart/CartTemplate/index.js.map +1 -1
  16. package/dist/modules/cart/components/CartItems/Item/OutOfStockBadge.d.ts +7 -2
  17. package/dist/modules/cart/components/CartItems/Item/OutOfStockBadge.d.ts.map +1 -1
  18. package/dist/modules/cart/components/CartItems/Item/OutOfStockBadge.js +15 -4
  19. package/dist/modules/cart/components/CartItems/Item/OutOfStockBadge.js.map +1 -1
  20. package/dist/modules/cart/components/CartItems/Item/QuantitySelector.d.ts.map +1 -1
  21. package/dist/modules/cart/components/CartItems/Item/QuantitySelector.js +22 -4
  22. package/dist/modules/cart/components/CartItems/Item/QuantitySelector.js.map +1 -1
  23. package/dist/modules/cart/components/CartItems/Item/TotalDisplay.d.ts +1 -2
  24. package/dist/modules/cart/components/CartItems/Item/TotalDisplay.d.ts.map +1 -1
  25. package/dist/modules/cart/components/CartItems/Item/TotalDisplay.js +4 -4
  26. package/dist/modules/cart/components/CartItems/Item/TotalDisplay.js.map +1 -1
  27. package/dist/modules/cart/components/CartItems/Item/index.d.ts.map +1 -1
  28. package/dist/modules/cart/components/CartItems/Item/index.js +13 -12
  29. package/dist/modules/cart/components/CartItems/Item/index.js.map +1 -1
  30. package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.d.ts.map +1 -1
  31. package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.js +9 -6
  32. package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.js.map +1 -1
  33. package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.d.ts.map +1 -1
  34. package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js +27 -8
  35. package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js.map +1 -1
  36. package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemTotal.js +4 -4
  37. package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemTotal.js.map +1 -1
  38. package/dist/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.d.ts +7 -2
  39. package/dist/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.d.ts.map +1 -1
  40. package/dist/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js +14 -4
  41. package/dist/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js.map +1 -1
  42. package/dist/modules/cart/components/CartItems/ItemMobile/index.d.ts.map +1 -1
  43. package/dist/modules/cart/components/CartItems/ItemMobile/index.js +14 -13
  44. package/dist/modules/cart/components/CartItems/ItemMobile/index.js.map +1 -1
  45. package/dist/modules/cart/components/CartItems/index.d.ts.map +1 -1
  46. package/dist/modules/cart/components/CartItems/index.js +23 -4
  47. package/dist/modules/cart/components/CartItems/index.js.map +1 -1
  48. package/dist/modules/cart/components/CartItems/util.d.ts +6 -0
  49. package/dist/modules/cart/components/CartItems/util.d.ts.map +1 -1
  50. package/dist/modules/cart/components/CartItems/util.js +47 -0
  51. package/dist/modules/cart/components/CartItems/util.js.map +1 -1
  52. package/dist/modules/checkout/CheckoutTemplate/StepShipping/index.d.ts +2 -1
  53. package/dist/modules/checkout/CheckoutTemplate/StepShipping/index.d.ts.map +1 -1
  54. package/dist/modules/checkout/CheckoutTemplate/StepShipping/index.js +12 -8
  55. package/dist/modules/checkout/CheckoutTemplate/StepShipping/index.js.map +1 -1
  56. package/dist/modules/checkout/CheckoutTemplate/index.d.ts.map +1 -1
  57. package/dist/modules/checkout/CheckoutTemplate/index.js +10 -27
  58. package/dist/modules/checkout/CheckoutTemplate/index.js.map +1 -1
  59. package/dist/utils/config.d.ts +1 -0
  60. package/dist/utils/config.d.ts.map +1 -1
  61. package/dist/utils/config.js +1 -0
  62. package/dist/utils/config.js.map +1 -1
  63. package/package.json +3 -3
@@ -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`, text: `account.general_actions.color` }),
8
- ": \u00A0",
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`, text: `account.general_actions.size` }),
21
- ": \u00A0",
22
- React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize`, text: selectedOption.size.name })));
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;AAEhD,MAAM,oBAAoB,GAAG,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7E,MAAM,oBAAoB,GAAG,GAAG,EAAE;QACjC,IAAI,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,CACN,6BAAK,SAAS,EAAE,kBAAkB;gBACjC,oBAAC,IAAI,IACJ,SAAS,EAAE,iEAAiE,EAC5E,IAAI,EAAE,+BAA+B,GACpC;;gBAEF,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,IACJ,SAAS,EAAE,iEAAiE,EAC5E,IAAI,EAAE,8BAA8B,GACnC;;gBAEF,oBAAC,IAAI,IACJ,SAAS,EAAE,4EAA4E,EACvF,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,GAC7B,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,OAAO,CACN;QACE,oBAAoB,EAAE;QACtB,qBAAqB,EAAE,CACtB,CACH,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,oBAAoB,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;;;;;;;;;;sBAkIC;kBAvIiB,OAAO"}
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` }, !data?.product?.out_of_stock ? (React.createElement(Select, { className: `quantity-select-mobile-wrap`, options: selectionList, value: data?.qty, onChange: (val) => actions.add({
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`, text: `account.general_actions.quantityWithSymbol` }),
18
- ": \u00A0",
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`, text: `account.general_actions.quantityWithSymbol` }),
23
- ": \u00A0",
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` }, !data?.product.out_of_stock ? (React.createElement(AccountCounter, { productId: data?.product.id })) : (React.createElement("div", { className: `in-block` },
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":"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"}
1
+ {"version":3,"file":"MobileItemQuantity.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js"],"names":[],"mappings":"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"}
@@ -7,9 +7,9 @@ const MobileItemTotal = ({ data, hasVariants }) => {
7
7
  if (hasVariants) {
8
8
  return (React.createElement("div", { className: `mobile-total-price-wrap` },
9
9
  React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize mb-mt`, text: `account.order_balance.total` }),
10
- data?.selectedOption?.sale_price ? (React.createElement("div", null,
11
- React.createElement(Text, { className: `account-p account-p3 account-font-bold account-secondary-color2`, text: data?.selectedOption?.formatted_sale_total }),
12
- React.createElement(Text, { className: `account-p account-p3 account-font-regular account-primary-color2 line-through`, text: data?.selectedOption?.formatted_total }))) : (React.createElement(Text, { className: `account-p account-p3 account-font-bold account-primary-color1`, text: data?.selectedOption?.formatted_total }))));
10
+ data?.sale_price || data?.selectedOption?.sale_price ? (React.createElement("div", null,
11
+ React.createElement(Text, { className: `account-p account-p3 account-font-bold account-secondary-color2`, text: data?.formatted_sale_total || data?.selectedOption?.formatted_sale_total }),
12
+ React.createElement(Text, { className: `account-p account-p3 account-font-regular account-primary-color2 line-through`, text: data?.formatted_total || data?.selectedOption?.formatted_total }))) : (React.createElement(Text, { className: `account-p account-p3 account-font-bold account-primary-color1`, text: data?.formatted_total || data?.selectedOption?.formatted_total }))));
13
13
  }
14
14
  // For non-variants (gifts)
15
15
  if (data?.is_gift) {
@@ -34,7 +34,7 @@ const MobileItemTotal = ({ data, hasVariants }) => {
34
34
  // For non-variants (regular products)
35
35
  return (React.createElement("div", { className: `mobile-total-price-wrap flex-box` },
36
36
  React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1` },
37
- data?.formatted_total,
37
+ data?.formatted_total || data?.selectedOption?.formatted_total,
38
38
  React.createElement(UpcomingGift, { className: `account-p account-p3 account-font-medium account-primary-color2 discount-text`, requiredQtyForGift: data?.product.required_qty_for_gift, giftMessage: data?.product.gift_message }))));
39
39
  };
40
40
  export default MobileItemTotal;
@@ -1 +1 @@
1
- {"version":3,"file":"MobileItemTotal.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemTotal.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAE3C,MAAM,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;IACjD,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,eAAe;IACf,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,CACN,6BAAK,SAAS,EAAE,yBAAyB;YACxC,oBAAC,IAAI,IACJ,SAAS,EAAE,kFAAkF,EAC7F,IAAI,EAAE,6BAA6B,GAClC;YAED,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CACnC;gBACC,oBAAC,IAAI,IACJ,SAAS,EAAE,iEAAiE,EAC5E,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,oBAAoB,GAC/C;gBAEF,oBAAC,IAAI,IACJ,SAAS,EAAE,+EAA+E,EAC1F,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,GAC1C,CACG,CACN,CAAC,CAAC,CAAC,CACH,oBAAC,IAAI,IACJ,SAAS,EAAE,+DAA+D,EAC1E,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,GAC1C,CACF,CACI,CACN,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;QACnB,OAAO,CACN,6BAAK,SAAS,EAAE,kCAAkC;YACjD,oBAAC,IAAI,IAAC,SAAS,EAAE,iEAAiE;gBAChF,IAAI,EAAE,eAAe,IAAI,CAAC;gBAC3B,8BAAM,SAAS,EAAC,gBAAgB,IAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAQ,CAChE,CACF,CACN,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;QACpE,OAAO,CACN,6BAAK,SAAS,EAAE,kCAAkC;YACjD,6BAAK,SAAS,EAAC,+BAA+B;gBAC7C,oBAAC,IAAI,IACJ,SAAS,EAAE,iGAAiG,IAC3G,IAAI,EAAE,oBAAoB,CACrB;gBAEP,6BAAK,SAAS,EAAE,kBAAkB;oBAChC,IAAI,EAAE,OAAO,CAAC,QAAQ,IAAI,CAC1B,oBAAC,IAAI,IACJ,SAAS,EAAE,+EAA+E;wBACzF,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe;;wBAEzC,8BAAM,SAAS,EAAC,WAAW,IAAE,SAAS,CAAC,gCAAgC,CAAC,CAAQ,CAC1E,CACP;oBAED,oBAAC,YAAY,IACZ,SAAS,EAAE,+EAA+E,EAC1F,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,qBAAqB,EACvD,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,GACtC;oBAEF,oBAAC,IAAI,IACJ,SAAS,EAAE,8FAA8F,IACxG,IAAI,EAAE,eAAe,CAChB,CACF,CACD,CACD,CACN,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,OAAO,CACN,6BAAK,SAAS,EAAE,kCAAkC;QACjD,oBAAC,IAAI,IAAC,SAAS,EAAE,iEAAiE;YAChF,IAAI,EAAE,eAAe;YAEtB,oBAAC,YAAY,IACZ,SAAS,EAAE,+EAA+E,EAC1F,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,qBAAqB,EACvD,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,GACtC,CACI,CACF,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"MobileItemTotal.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemTotal.js"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  export default MobileOutOfStockBadge;
2
- declare function MobileOutOfStockBadge({ isOutOfStock }: {
3
- isOutOfStock: any;
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;;sBAWC;kBAdiB,OAAO"}
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 { Text } from '@weareconceptstudio/core';
3
- const MobileOutOfStockBadge = ({ isOutOfStock }) => {
4
- if (!isOutOfStock) {
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
- return (React.createElement(Text, { className: `account-p account-p3 account-font-bold account-error-color out-of-stock-mt`, text: 'account.general_actions.outOfStock' }));
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,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,MAAM,qBAAqB,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;IAClD,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CACN,oBAAC,IAAI,IACJ,SAAS,EAAE,4EAA4E,EACvF,IAAI,EAAE,oCAAoC,GACzC,CACF,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
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":";AAaA,6DAsHG;kBAnIkC,OAAO"}
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
- const ItemMobile = memo(({ data, remove, select, actions, isStock, edit, favorite }) => {
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 selectionList = useMemo(() => {
18
- if (select) {
19
- const selectList = [];
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
- }, [data?.selectedOption?.qty, select]);
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 isOutOfStock = hasOutOfStock ? data?.product?.out_of_stock || !isStock() : false;
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
- hasOutOfStock ? React.createElement(MobileOutOfStockBadge, { isOutOfStock: isOutOfStock }) : null,
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: selectionList, actions: actions, checkoutData: checkoutData, setGifts: setGifts, isCheckoutPage: isCheckoutPage, itemGiftQty: itemGiftQty })),
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: selectionList, actions: actions, checkoutData: checkoutData, setGifts: setGifts, isCheckoutPage: isCheckoutPage, itemGiftQty: itemGiftQty })))))),
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/index.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/index.js"],"names":[],"mappings":";AAYA,4DAiHG;kBA7HkC,OAAO"}
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?.qty <= currentItem?.selectedOption?.qty;
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":"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"}
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;kBAXgB,OAAO"}
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"}
@@ -1,8 +1,9 @@
1
1
  export default StepShipping;
2
- declare function StepShipping({ firstStepFormRef, shippingFormRef, billingFormRef, setUseSameAddress }: {
2
+ declare function StepShipping({ firstStepFormRef, shippingFormRef, billingFormRef, useSameAddress, setUseSameAddress, }: {
3
3
  firstStepFormRef: any;
4
4
  shippingFormRef: any;
5
5
  billingFormRef: any;
6
+ useSameAddress?: boolean;
6
7
  setUseSameAddress: any;
7
8
  }): React.JSX.Element;
8
9
  import React from 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/checkout/CheckoutTemplate/StepShipping/index.js"],"names":[],"mappings":";AAIA;;;;;sBAqEC;kBAzE+B,OAAO"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/checkout/CheckoutTemplate/StepShipping/index.js"],"names":[],"mappings":";AAIA;;;;;;sBAkFC;kBAtF0C,OAAO"}
@@ -1,16 +1,20 @@
1
- import React, { useState } from 'react';
1
+ import React, { useEffect, useState } from 'react';
2
2
  import { AddressItem, ShippingBillingForm, useAddressContext } from '../../../address';
3
3
  import { CustomCheckbox } from '../../../../components';
4
- const StepShipping = ({ firstStepFormRef, shippingFormRef, billingFormRef, setUseSameAddress }) => {
5
- const [hide, setHide] = useState(false);
4
+ const StepShipping = ({ firstStepFormRef, shippingFormRef, billingFormRef, useSameAddress = false, setUseSameAddress, }) => {
5
+ const [hide, setHide] = useState(useSameAddress);
6
6
  const { hasAddressType, addresses, selectedAddresses } = useAddressContext();
7
+ useEffect(() => {
8
+ setHide(useSameAddress);
9
+ }, [useSameAddress]);
10
+ const handleToggleUseSameAddress = (value) => {
11
+ setHide(value);
12
+ setUseSameAddress?.(value);
13
+ };
7
14
  return (React.createElement("div", { className: `billing-shipping-form-wrap` }, hasAddressType ? (React.createElement(React.Fragment, null,
8
15
  addresses.shipping.length > 0 && selectedAddresses.shipping ? (React.createElement("div", { className: `shipping-address-wrapper` },
9
- React.createElement(AddressItem, { title: 'account.address_management.shippingAddress', checkout_review: false, select_address: false, type: 'shipping', data: selectedAddresses.shipping }))) : (React.createElement(ShippingBillingForm, { type: 'shipping', title: 'account.address_management.shippingAddress', className: 'shipping-wrapper', firstStepFormRef: shippingFormRef })),
10
- !(addresses.billing.length > 0 || addresses.shipping.length > 0) && (React.createElement(CustomCheckbox, { hide: hide, setHide: (value) => {
11
- setHide(value);
12
- setUseSameAddress?.(value);
13
- }, isText: 'account.order_balance.useAlsoBillingAddress' })),
16
+ React.createElement(AddressItem, { title: 'account.address_management.shippingAddress', checkout_review: false, select_address: false, type: 'shipping', data: selectedAddresses.shipping }))) : (React.createElement(ShippingBillingForm, { type: 'shipping', title: 'account.address_management.shippingAddress', className: 'shipping-wrapper', firstStepFormRef: shippingFormRef, duplicateTo: useSameAddress ? ['billing'] : [] })),
17
+ !(addresses.billing.length > 0 || addresses.shipping.length > 0) && (React.createElement(CustomCheckbox, { hide: hide, setHide: handleToggleUseSameAddress, isText: 'account.order_balance.useAlsoBillingAddress' })),
14
18
  !hide &&
15
19
  (addresses.billing.length > 0 && selectedAddresses.billing ? (React.createElement("div", { className: `billing-address-wrapper` },
16
20
  React.createElement(AddressItem, { type: 'billing', select_address: false, checkout_review: false, title: 'account.address_management.billingAddress', data: selectedAddresses.billing }))) : (React.createElement(ShippingBillingForm, { type: 'billing', title: 'account.address_management.billingAddress', className: 'billing-wrapper', firstStepFormRef: billingFormRef }))))) : (React.createElement(ShippingBillingForm, { firstStepFormRef: firstStepFormRef, title: 'account.address_management.address' }))));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/checkout/CheckoutTemplate/StepShipping/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,YAAY,GAAG,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,EAAE;IACjG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAE7E,OAAO,CACN,6BAAK,SAAS,EAAE,4BAA4B,IAC1C,cAAc,CAAC,CAAC,CAAC,CACjB;QAEE,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC9D,6BAAK,SAAS,EAAE,0BAA0B;YACzC,oBAAC,WAAW,IACX,KAAK,EAAE,4CAA4C,EACnD,eAAe,EAAE,KAAK,EACtB,cAAc,EAAE,KAAK,EACrB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,iBAAiB,CAAC,QAAQ,GAC/B,CACG,CACN,CAAC,CAAC,CAAC,CACH,oBAAC,mBAAmB,IACnB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,4CAA4C,EACnD,SAAS,EAAE,kBAAkB,EAC7B,gBAAgB,EAAE,eAAe,GAChC,CACF;QAGA,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CACpE,oBAAC,cAAc,IACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,EACD,MAAM,EAAE,6CAA6C,GACpD,CACF;QAGA,CAAC,IAAI;YACL,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAC5D,6BAAK,SAAS,EAAE,yBAAyB;gBACxC,oBAAC,WAAW,IACX,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,KAAK,EACrB,eAAe,EAAE,KAAK,EACtB,KAAK,EAAE,2CAA2C,EAClD,IAAI,EAAE,iBAAiB,CAAC,OAAO,GAC9B,CACG,CACN,CAAC,CAAC,CAAC,CACH,oBAAC,mBAAmB,IACnB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,2CAA2C,EAClD,SAAS,EAAE,iBAAiB,EAC5B,gBAAgB,EAAE,cAAc,GAC/B,CACF,CAAC,CACD,CACH,CAAC,CAAC,CAAC,CACH,oBAAC,mBAAmB,IACnB,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAC,oCAAoC,GACzC,CACF,CACI,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/checkout/CheckoutTemplate/StepShipping/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,YAAY,GAAG,CAAC,EACrB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,cAAc,GAAG,KAAK,EACtB,iBAAiB,GACjB,EAAE,EAAE;IACJ,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAE7E,SAAS,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,cAAc,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,0BAA0B,GAAG,CAAC,KAAK,EAAE,EAAE;QAC5C,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,CACN,6BAAK,SAAS,EAAE,4BAA4B,IAC1C,cAAc,CAAC,CAAC,CAAC,CACjB;QAEE,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC9D,6BAAK,SAAS,EAAE,0BAA0B;YACzC,oBAAC,WAAW,IACX,KAAK,EAAE,4CAA4C,EACnD,eAAe,EAAE,KAAK,EACtB,cAAc,EAAE,KAAK,EACrB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,iBAAiB,CAAC,QAAQ,GAC/B,CACG,CACN,CAAC,CAAC,CAAC,CACH,oBAAC,mBAAmB,IACnB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,4CAA4C,EACnD,SAAS,EAAE,kBAAkB,EAC7B,gBAAgB,EAAE,eAAe,EACjC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAC7C,CACF;QAGA,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CACpE,oBAAC,cAAc,IACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,EACnC,MAAM,EAAE,6CAA6C,GACpD,CACF;QAGA,CAAC,IAAI;YACL,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAC5D,6BAAK,SAAS,EAAE,yBAAyB;gBACxC,oBAAC,WAAW,IACX,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,KAAK,EACrB,eAAe,EAAE,KAAK,EACtB,KAAK,EAAE,2CAA2C,EAClD,IAAI,EAAE,iBAAiB,CAAC,OAAO,GAC9B,CACG,CACN,CAAC,CAAC,CAAC,CACH,oBAAC,mBAAmB,IACnB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,2CAA2C,EAClD,SAAS,EAAE,iBAAiB,EAC5B,gBAAgB,EAAE,cAAc,GAC/B,CACF,CAAC,CACD,CACH,CAAC,CAAC,CAAC,CACH,oBAAC,mBAAmB,IACnB,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAC,oCAAoC,GACzC,CACF,CACI,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/checkout/CheckoutTemplate/index.js"],"names":[],"mappings":";AAkBA;;sBAgIC;kBAlJ+D,OAAO"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/checkout/CheckoutTemplate/index.js"],"names":[],"mappings":";AAkBA;;sBAkHC;kBApI+D,OAAO"}
@@ -19,48 +19,31 @@ const CheckoutTemplate = ({ moreMenu }) => {
19
19
  const billingFormRef = useRef(null);
20
20
  const [useSameAddress, setUseSameAddress] = useState(false);
21
21
  const { useUser } = useAccountContext();
22
- const { hasCheckoutAddress, addressLoading, hasAddressType, createAddress } = useAddressContext();
22
+ const { hasCheckoutAddress, addressLoading, hasAddressType } = useAddressContext();
23
23
  const { itemsCount, loading, handleCheckout, getCart, mergeCart, isLoggedIn } = useCart();
24
24
  const { user } = useUser();
25
- // Fetch cart when component mounts (like old version)
26
25
  useEffect(() => {
27
26
  getCart();
28
27
  if (isLoggedIn) {
29
28
  mergeCart();
30
29
  }
31
- }, []);
30
+ }, [getCart, isLoggedIn, mergeCart]);
32
31
  const checkStep = {
33
32
  isShipping: !hasCheckoutAddress,
34
33
  isReview: hasCheckoutAddress,
35
34
  };
36
35
  const handleCheckoutFirstStep = () => {
37
- if (hasAddressType) {
38
- //! Dual address mode: submit both forms or copy shipping to billing if checkbox is checked
39
- if (useSameAddress) {
40
- //! User wants same address for shipping and billing
41
- const shippingPromise = shippingFormRef.current?.submit();
42
- //! After shipping address is created, copy it to billing
43
- return shippingPromise?.then((shippingData) => {
44
- //! Get the form values from shipping form
45
- const shippingValues = shippingFormRef.current?.getValues();
46
- if (shippingValues) {
47
- //! Create billing address with the same data
48
- return createAddress({ data: shippingValues, type: 'billing' });
49
- }
50
- });
51
- }
52
- else {
53
- //! Submit both forms separately
54
- const shippingPromise = shippingFormRef.current?.submit();
55
- const billingPromise = billingFormRef.current?.submit();
56
- //! Wait for both forms to complete
57
- return Promise.all([shippingPromise, billingPromise].filter(Boolean));
58
- }
59
- }
60
- else {
36
+ if (!hasAddressType) {
61
37
  //! Single address mode: submit single form
62
38
  return firstStepFormRef.current?.submit();
63
39
  }
40
+ //! Dual address mode: submit both forms or rely on shipping duplication
41
+ if (useSameAddress) {
42
+ return shippingFormRef.current?.submit();
43
+ }
44
+ const shippingPromise = shippingFormRef.current?.submit();
45
+ const billingPromise = billingFormRef.current?.submit();
46
+ return Promise.all([shippingPromise, billingPromise].filter(Boolean));
64
47
  };
65
48
  const [loadingProcessToPayment, setLoadingProcessToPayment] = useState(false);
66
49
  const handleCheckoutBtn = useCallback(() => {