@commercelayer/react-components 4.0.0-alpha.5 → 4.0.0-alpha.7

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 (233) hide show
  1. package/lib/cjs/components/SubmitButton.d.ts +6 -15
  2. package/lib/cjs/components/SubmitButton.js +1 -1
  3. package/lib/cjs/components/addresses/Address.d.ts +4 -9
  4. package/lib/cjs/components/addresses/Address.js +1 -1
  5. package/lib/cjs/components/addresses/AddressField.d.ts +8 -12
  6. package/lib/cjs/components/addresses/AddressField.js +1 -1
  7. package/lib/cjs/components/addresses/AddressInput.d.ts +0 -11
  8. package/lib/cjs/components/addresses/AddressInput.js +1 -1
  9. package/lib/cjs/components/addresses/AddressesContainer.d.ts +2 -9
  10. package/lib/cjs/components/addresses/AddressesContainer.js +1 -1
  11. package/lib/cjs/components/addresses/AddressesEmpty.d.ts +14 -0
  12. package/lib/cjs/components/addresses/AddressesEmpty.js +1 -0
  13. package/lib/cjs/components/addresses/SaveAddressesButton.d.ts +4 -3
  14. package/lib/cjs/components/addresses/SaveAddressesButton.js +1 -1
  15. package/lib/cjs/components/auth/CommerceLayer.d.ts +2 -9
  16. package/lib/cjs/components/auth/CommerceLayer.js +1 -1
  17. package/lib/cjs/components/customers/CustomerContainer.d.ts +2 -2
  18. package/lib/cjs/components/customers/CustomerContainer.js +1 -1
  19. package/lib/cjs/components/customers/SaveCustomerButton.d.ts +6 -7
  20. package/lib/cjs/components/customers/SaveCustomerButton.js +1 -1
  21. package/lib/cjs/components/gift_cards/GiftCardOrCouponCode.d.ts +8 -16
  22. package/lib/cjs/components/gift_cards/GiftCardOrCouponCode.js +1 -1
  23. package/lib/cjs/components/gift_cards/GiftCardOrCouponRemoveButton.d.ts +4 -12
  24. package/lib/cjs/components/gift_cards/GiftCardOrCouponRemoveButton.js +1 -1
  25. package/lib/cjs/components/gift_cards/GiftCardOrCouponSubmit.d.ts +6 -12
  26. package/lib/cjs/components/gift_cards/GiftCardOrCouponSubmit.js +1 -1
  27. package/lib/cjs/components/line_items/LineItemOption.d.ts +2 -2
  28. package/lib/cjs/components/line_items/LineItemQuantity.d.ts +4 -16
  29. package/lib/cjs/components/line_items/LineItemQuantity.js +1 -1
  30. package/lib/cjs/components/line_items/LineItemRemoveLink.d.ts +6 -16
  31. package/lib/cjs/components/line_items/LineItemRemoveLink.js +1 -1
  32. package/lib/cjs/components/line_items/LineItemsCount.d.ts +4 -14
  33. package/lib/cjs/components/line_items/LineItemsCount.js +1 -1
  34. package/lib/cjs/components/line_items/LineItemsEmpty.d.ts +6 -17
  35. package/lib/cjs/components/line_items/LineItemsEmpty.js +1 -1
  36. package/lib/cjs/components/orders/AddToCartButton.d.ts +4 -5
  37. package/lib/cjs/components/orders/AddToCartButton.js +1 -1
  38. package/lib/cjs/components/orders/CartLink.d.ts +6 -6
  39. package/lib/cjs/components/orders/CartLink.js +1 -1
  40. package/lib/cjs/components/orders/CheckoutLink.d.ts +4 -4
  41. package/lib/cjs/components/orders/CheckoutLink.js +1 -1
  42. package/lib/cjs/components/orders/ItemContainer.d.ts +2 -13
  43. package/lib/cjs/components/orders/ItemContainer.js +1 -1
  44. package/lib/cjs/components/orders/OrderContainer.d.ts +4 -18
  45. package/lib/cjs/components/orders/OrderContainer.js +1 -1
  46. package/lib/cjs/components/orders/OrderList.d.ts +11 -12
  47. package/lib/cjs/components/orders/OrderList.js +1 -1
  48. package/lib/cjs/components/orders/OrderListEmpty.d.ts +14 -0
  49. package/lib/cjs/components/orders/OrderListEmpty.js +1 -0
  50. package/lib/cjs/components/orders/OrderListRow.d.ts +9 -5
  51. package/lib/cjs/components/orders/OrderListRow.js +1 -1
  52. package/lib/cjs/components/orders/PlaceOrderButton.d.ts +4 -14
  53. package/lib/cjs/components/orders/PlaceOrderButton.js +1 -1
  54. package/lib/cjs/components/parcels/Parcel.d.ts +6 -0
  55. package/lib/cjs/components/parcels/Parcel.js +1 -0
  56. package/lib/cjs/components/payment_source/AdyenPayment.js +1 -1
  57. package/lib/cjs/components/payment_source/PaymentSourceBrandIcon.d.ts +4 -14
  58. package/lib/cjs/components/payment_source/PaymentSourceBrandIcon.js +1 -1
  59. package/lib/cjs/components/payment_source/PaymentSourceBrandName.d.ts +4 -11
  60. package/lib/cjs/components/payment_source/PaymentSourceBrandName.js +1 -1
  61. package/lib/cjs/components/payment_source/PaymentSourceDetail.d.ts +6 -12
  62. package/lib/cjs/components/payment_source/PaymentSourceDetail.js +1 -1
  63. package/lib/cjs/components/payment_source/PaymentSourceEditButton.d.ts +4 -10
  64. package/lib/cjs/components/payment_source/PaymentSourceEditButton.js +1 -1
  65. package/lib/cjs/components/prices/Price.d.ts +6 -18
  66. package/lib/cjs/components/prices/Price.js +1 -1
  67. package/lib/cjs/components/prices/PricesContainer.d.ts +4 -20
  68. package/lib/cjs/components/prices/PricesContainer.js +1 -1
  69. package/lib/cjs/components/shipments/Shipment.d.ts +2 -8
  70. package/lib/cjs/components/shipments/Shipment.js +1 -1
  71. package/lib/cjs/components/shipments/ShipmentField.d.ts +0 -7
  72. package/lib/cjs/components/shipments/ShipmentField.js +1 -1
  73. package/lib/cjs/components/shipments/ShipmentsContainer.d.ts +2 -8
  74. package/lib/cjs/components/shipments/ShipmentsContainer.js +1 -1
  75. package/lib/cjs/components/shipping_methods/ShippingMethod.d.ts +2 -9
  76. package/lib/cjs/components/shipping_methods/ShippingMethod.js +1 -1
  77. package/lib/cjs/components/shipping_methods/ShippingMethodName.d.ts +0 -6
  78. package/lib/cjs/components/shipping_methods/ShippingMethodName.js +1 -1
  79. package/lib/cjs/components/skus/AvailabilityTemplate.d.ts +4 -13
  80. package/lib/cjs/components/skus/AvailabilityTemplate.js +1 -1
  81. package/lib/cjs/components/skus/QuantitySelector.d.ts +4 -18
  82. package/lib/cjs/components/skus/QuantitySelector.js +1 -1
  83. package/lib/cjs/components/skus/VariantSelector.d.ts +4 -27
  84. package/lib/cjs/components/skus/VariantSelector.js +1 -1
  85. package/lib/cjs/components/utils/AddressCardsTemplate.d.ts +8 -8
  86. package/lib/cjs/components/utils/AddressCardsTemplate.js +1 -1
  87. package/lib/cjs/components/utils/BaseInput.d.ts +1 -1
  88. package/lib/cjs/components/utils/ErrorBoundary.d.ts +14 -0
  89. package/lib/cjs/components/utils/ErrorBoundary.js +1 -0
  90. package/lib/cjs/components/utils/PaymentCardsTemplate.d.ts +2 -2
  91. package/lib/cjs/components/utils/PriceTemplate.d.ts +2 -2
  92. package/lib/cjs/components/utils/PriceTemplate.js +1 -1
  93. package/lib/cjs/context/BillingAddressFormContext.d.ts +2 -2
  94. package/lib/cjs/context/OrderContext.d.ts +3 -3
  95. package/lib/cjs/context/OrderListChildrenContext.d.ts +8 -0
  96. package/lib/cjs/context/ParcelChildrenContext.d.ts +7 -0
  97. package/lib/cjs/context/ParcelChildrenContext.js +1 -0
  98. package/lib/cjs/context/ShipmentChildrenContext.d.ts +6 -5
  99. package/lib/cjs/context/ShipmentChildrenContext.js +1 -1
  100. package/lib/cjs/index.d.ts +36 -34
  101. package/lib/cjs/index.js +1 -1
  102. package/lib/cjs/reducers/AddressReducer.d.ts +17 -23
  103. package/lib/cjs/reducers/AddressReducer.js +1 -1
  104. package/lib/cjs/reducers/CustomerReducer.d.ts +18 -20
  105. package/lib/cjs/reducers/CustomerReducer.js +1 -1
  106. package/lib/cjs/reducers/OrderReducer.d.ts +16 -29
  107. package/lib/cjs/reducers/OrderReducer.js +1 -1
  108. package/lib/cjs/reducers/ShipmentReducer.d.ts +1 -3
  109. package/lib/cjs/typings/errors.d.ts +2 -2
  110. package/lib/cjs/typings/index.d.ts +8 -16
  111. package/lib/cjs/utils/addressesManager.d.ts +5 -4
  112. package/lib/cjs/utils/getPrices.d.ts +4 -15
  113. package/lib/cjs/utils/getPrices.js +1 -1
  114. package/lib/cjs/utils/getSdk.d.ts +1 -1
  115. package/lib/cjs/utils/organization.d.ts +2 -2
  116. package/lib/esm/components/SubmitButton.d.ts +6 -15
  117. package/lib/esm/components/SubmitButton.js +1 -1
  118. package/lib/esm/components/addresses/Address.d.ts +4 -9
  119. package/lib/esm/components/addresses/Address.js +1 -1
  120. package/lib/esm/components/addresses/AddressField.d.ts +8 -12
  121. package/lib/esm/components/addresses/AddressField.js +1 -1
  122. package/lib/esm/components/addresses/AddressInput.d.ts +0 -11
  123. package/lib/esm/components/addresses/AddressInput.js +1 -1
  124. package/lib/esm/components/addresses/AddressesContainer.d.ts +2 -9
  125. package/lib/esm/components/addresses/AddressesContainer.js +1 -1
  126. package/lib/esm/components/addresses/AddressesEmpty.d.ts +14 -0
  127. package/lib/esm/components/addresses/AddressesEmpty.js +1 -0
  128. package/lib/esm/components/addresses/SaveAddressesButton.d.ts +4 -3
  129. package/lib/esm/components/addresses/SaveAddressesButton.js +1 -1
  130. package/lib/esm/components/auth/CommerceLayer.d.ts +2 -9
  131. package/lib/esm/components/auth/CommerceLayer.js +1 -1
  132. package/lib/esm/components/customers/CustomerContainer.d.ts +2 -2
  133. package/lib/esm/components/customers/CustomerContainer.js +1 -1
  134. package/lib/esm/components/customers/SaveCustomerButton.d.ts +6 -7
  135. package/lib/esm/components/customers/SaveCustomerButton.js +1 -1
  136. package/lib/esm/components/gift_cards/GiftCardOrCouponCode.d.ts +8 -16
  137. package/lib/esm/components/gift_cards/GiftCardOrCouponCode.js +1 -1
  138. package/lib/esm/components/gift_cards/GiftCardOrCouponRemoveButton.d.ts +4 -12
  139. package/lib/esm/components/gift_cards/GiftCardOrCouponRemoveButton.js +1 -1
  140. package/lib/esm/components/gift_cards/GiftCardOrCouponSubmit.d.ts +6 -12
  141. package/lib/esm/components/gift_cards/GiftCardOrCouponSubmit.js +1 -1
  142. package/lib/esm/components/line_items/LineItemOption.d.ts +2 -2
  143. package/lib/esm/components/line_items/LineItemQuantity.d.ts +4 -16
  144. package/lib/esm/components/line_items/LineItemQuantity.js +1 -1
  145. package/lib/esm/components/line_items/LineItemRemoveLink.d.ts +6 -16
  146. package/lib/esm/components/line_items/LineItemRemoveLink.js +1 -1
  147. package/lib/esm/components/line_items/LineItemsCount.d.ts +4 -14
  148. package/lib/esm/components/line_items/LineItemsCount.js +1 -1
  149. package/lib/esm/components/line_items/LineItemsEmpty.d.ts +6 -17
  150. package/lib/esm/components/line_items/LineItemsEmpty.js +1 -1
  151. package/lib/esm/components/orders/AddToCartButton.d.ts +4 -5
  152. package/lib/esm/components/orders/AddToCartButton.js +1 -1
  153. package/lib/esm/components/orders/CartLink.d.ts +6 -6
  154. package/lib/esm/components/orders/CartLink.js +1 -1
  155. package/lib/esm/components/orders/CheckoutLink.d.ts +4 -4
  156. package/lib/esm/components/orders/CheckoutLink.js +1 -1
  157. package/lib/esm/components/orders/ItemContainer.d.ts +2 -13
  158. package/lib/esm/components/orders/ItemContainer.js +1 -1
  159. package/lib/esm/components/orders/OrderContainer.d.ts +4 -18
  160. package/lib/esm/components/orders/OrderContainer.js +1 -1
  161. package/lib/esm/components/orders/OrderList.d.ts +11 -12
  162. package/lib/esm/components/orders/OrderList.js +1 -1
  163. package/lib/esm/components/orders/OrderListEmpty.d.ts +14 -0
  164. package/lib/esm/components/orders/OrderListEmpty.js +1 -0
  165. package/lib/esm/components/orders/OrderListRow.d.ts +9 -5
  166. package/lib/esm/components/orders/OrderListRow.js +1 -1
  167. package/lib/esm/components/orders/PlaceOrderButton.d.ts +4 -14
  168. package/lib/esm/components/orders/PlaceOrderButton.js +1 -1
  169. package/lib/esm/components/parcels/Parcel.d.ts +6 -0
  170. package/lib/esm/components/parcels/Parcel.js +1 -0
  171. package/lib/esm/components/payment_source/AdyenPayment.js +1 -1
  172. package/lib/esm/components/payment_source/PaymentSourceBrandIcon.d.ts +4 -14
  173. package/lib/esm/components/payment_source/PaymentSourceBrandIcon.js +1 -1
  174. package/lib/esm/components/payment_source/PaymentSourceBrandName.d.ts +4 -11
  175. package/lib/esm/components/payment_source/PaymentSourceBrandName.js +1 -1
  176. package/lib/esm/components/payment_source/PaymentSourceDetail.d.ts +6 -12
  177. package/lib/esm/components/payment_source/PaymentSourceDetail.js +1 -1
  178. package/lib/esm/components/payment_source/PaymentSourceEditButton.d.ts +4 -10
  179. package/lib/esm/components/payment_source/PaymentSourceEditButton.js +1 -1
  180. package/lib/esm/components/prices/Price.d.ts +6 -18
  181. package/lib/esm/components/prices/Price.js +1 -1
  182. package/lib/esm/components/prices/PricesContainer.d.ts +4 -20
  183. package/lib/esm/components/prices/PricesContainer.js +1 -1
  184. package/lib/esm/components/shipments/Shipment.d.ts +2 -8
  185. package/lib/esm/components/shipments/Shipment.js +1 -1
  186. package/lib/esm/components/shipments/ShipmentField.d.ts +0 -7
  187. package/lib/esm/components/shipments/ShipmentField.js +1 -1
  188. package/lib/esm/components/shipments/ShipmentsContainer.d.ts +2 -8
  189. package/lib/esm/components/shipments/ShipmentsContainer.js +1 -1
  190. package/lib/esm/components/shipping_methods/ShippingMethod.d.ts +2 -9
  191. package/lib/esm/components/shipping_methods/ShippingMethod.js +1 -1
  192. package/lib/esm/components/shipping_methods/ShippingMethodName.d.ts +0 -6
  193. package/lib/esm/components/shipping_methods/ShippingMethodName.js +1 -1
  194. package/lib/esm/components/skus/AvailabilityTemplate.d.ts +4 -13
  195. package/lib/esm/components/skus/AvailabilityTemplate.js +1 -1
  196. package/lib/esm/components/skus/QuantitySelector.d.ts +4 -18
  197. package/lib/esm/components/skus/QuantitySelector.js +1 -1
  198. package/lib/esm/components/skus/VariantSelector.d.ts +4 -27
  199. package/lib/esm/components/skus/VariantSelector.js +1 -1
  200. package/lib/esm/components/utils/AddressCardsTemplate.d.ts +8 -8
  201. package/lib/esm/components/utils/AddressCardsTemplate.js +1 -1
  202. package/lib/esm/components/utils/BaseInput.d.ts +1 -1
  203. package/lib/esm/components/utils/ErrorBoundary.d.ts +14 -0
  204. package/lib/esm/components/utils/ErrorBoundary.js +1 -0
  205. package/lib/esm/components/utils/PaymentCardsTemplate.d.ts +2 -2
  206. package/lib/esm/components/utils/PriceTemplate.d.ts +2 -2
  207. package/lib/esm/components/utils/PriceTemplate.js +1 -1
  208. package/lib/esm/context/BillingAddressFormContext.d.ts +2 -2
  209. package/lib/esm/context/OrderContext.d.ts +3 -3
  210. package/lib/esm/context/OrderListChildrenContext.d.ts +8 -0
  211. package/lib/esm/context/ParcelChildrenContext.d.ts +7 -0
  212. package/lib/esm/context/ParcelChildrenContext.js +1 -0
  213. package/lib/esm/context/ShipmentChildrenContext.d.ts +6 -5
  214. package/lib/esm/context/ShipmentChildrenContext.js +1 -1
  215. package/lib/esm/index.d.ts +36 -34
  216. package/lib/esm/index.js +1 -1
  217. package/lib/esm/reducers/AddressReducer.d.ts +17 -23
  218. package/lib/esm/reducers/AddressReducer.js +1 -1
  219. package/lib/esm/reducers/CustomerReducer.d.ts +18 -20
  220. package/lib/esm/reducers/CustomerReducer.js +1 -1
  221. package/lib/esm/reducers/OrderReducer.d.ts +16 -29
  222. package/lib/esm/reducers/OrderReducer.js +1 -1
  223. package/lib/esm/reducers/ShipmentReducer.d.ts +1 -3
  224. package/lib/esm/typings/errors.d.ts +2 -2
  225. package/lib/esm/typings/index.d.ts +8 -16
  226. package/lib/esm/utils/addressesManager.d.ts +5 -4
  227. package/lib/esm/utils/getPrices.d.ts +4 -15
  228. package/lib/esm/utils/getPrices.js +1 -1
  229. package/lib/esm/utils/getSdk.d.ts +1 -1
  230. package/lib/esm/utils/organization.d.ts +2 -2
  231. package/lib/tsconfig.prod.esm.tsbuildinfo +1 -1
  232. package/lib/tsconfig.prod.tsbuildinfo +1 -1
  233. package/package.json +46 -35
@@ -1,23 +1,12 @@
1
1
  /// <reference types="react" />
2
- import { FunctionChildren } from '../../typings/index';
3
- export declare type LineItemsCountType = FunctionChildren<Omit<LineItemsCountProps, 'children'> & {
2
+ import { ChildrenFunction } from '../../typings/index';
3
+ interface ChildrenProps extends Omit<Props, 'children'> {
4
4
  quantity: number;
5
5
  text: string;
6
- }>;
7
- declare type LineItemsCountProps = {
8
- children?: LineItemsCountType;
6
+ }
7
+ interface Props extends Omit<JSX.IntrinsicElements['span'], 'children'> {
8
+ children?: ChildrenFunction<ChildrenProps>;
9
9
  text?: string;
10
- } & JSX.IntrinsicElements['span'];
11
- export declare function LineItemsEmpty(props: LineItemsCountProps): JSX.Element | null;
12
- export declare namespace LineItemsEmpty {
13
- var propTypes: {
14
- children: import("prop-types").Requireable<(...args: any[]) => any>;
15
- id: import("prop-types").Requireable<string>;
16
- className: import("prop-types").Requireable<string>;
17
- name: import("prop-types").Requireable<string>;
18
- style: import("prop-types").Requireable<object>;
19
- text: import("prop-types").Requireable<string>;
20
- };
21
- var displayName: string;
22
10
  }
11
+ export declare function LineItemsEmpty(props: Props): JSX.Element | null;
23
12
  export default LineItemsEmpty;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemsEmpty=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),getLineItemsCount_1=tslib_1.__importDefault(require("../../utils/getLineItemsCount")),LineItemContext_1=tslib_1.__importDefault(require("../../context/LineItemContext")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.LineItemsEmpty.propTypes,displayName=components_1.default.LineItemsEmpty.displayName;function LineItemsEmpty(props){const{children,text="Your shopping bag is empty",...p}=props,{lineItems}=(0,react_1.useContext)(LineItemContext_1.default),[quantity,setQuantity]=(0,react_1.useState)(),emptyText=quantity===0?(0,jsx_runtime_1.jsx)("span",{...p,children:text}):null;(0,react_1.useEffect)(()=>{if(lineItems)if(lineItems.length>0){const qty=(0,getLineItemsCount_1.default)({lineItems:lineItems||[]});setQuantity(qty)}else setQuantity(0);return()=>{setQuantity(void 0)}},[lineItems]);const parentProps={quantity,text,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):emptyText}exports.LineItemsEmpty=LineItemsEmpty,LineItemsEmpty.propTypes=propTypes,LineItemsEmpty.displayName=displayName,exports.default=LineItemsEmpty;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemsEmpty=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),getLineItemsCount_1=tslib_1.__importDefault(require("../../utils/getLineItemsCount")),LineItemContext_1=tslib_1.__importDefault(require("../../context/LineItemContext"));function LineItemsEmpty(props){const{children,text="Your shopping bag is empty",...p}=props,{lineItems}=(0,react_1.useContext)(LineItemContext_1.default),[quantity,setQuantity]=(0,react_1.useState)(),emptyText=quantity===0?(0,jsx_runtime_1.jsx)("span",{...p,children:text}):null;(0,react_1.useEffect)(()=>{if(lineItems)if(lineItems.length>0){const qty=(0,getLineItemsCount_1.default)({lineItems:lineItems||[]});setQuantity(qty)}else setQuantity(0);return()=>{setQuantity(void 0)}},[lineItems]);const parentProps={quantity,text,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):emptyText}exports.LineItemsEmpty=LineItemsEmpty,exports.default=LineItemsEmpty;
@@ -1,11 +1,10 @@
1
1
  import { PropsWithoutRef } from 'react';
2
- import { FunctionChildren } from '../../typings/index';
2
+ import { ChildrenFunction } from '../../typings/index';
3
3
  import { AddToCartReturn } from '../../reducers/OrderReducer';
4
4
  import { VariantOption } from '../skus/VariantSelector';
5
- declare type ChildrenProps = {
5
+ interface ChildrenProps extends Omit<Props, 'children'> {
6
6
  handleClick: () => AddToCartReturn;
7
- } & Omit<Props, 'children'>;
8
- declare type AddToCartButtonChildrenProps = FunctionChildren<ChildrenProps>;
7
+ }
9
8
  export declare type AddToCartButtonType = ChildrenProps;
10
9
  declare type BuyNowMode = {
11
10
  buyNowMode: true;
@@ -22,7 +21,7 @@ declare type THostedCart = {
22
21
  hostedCartUrl?: never;
23
22
  };
24
23
  declare type Props = {
25
- children?: AddToCartButtonChildrenProps;
24
+ children?: ChildrenFunction<ChildrenProps>;
26
25
  label?: string | JSX.Element;
27
26
  skuCode?: string;
28
27
  bundleCode?: string;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AddToCartButton=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),has_1=tslib_1.__importDefault(require("lodash/has")),ItemContext_1=tslib_1.__importDefault(require("../../context/ItemContext")),getCurrentItemKey_1=tslib_1.__importDefault(require("../../utils/getCurrentItemKey")),SkuListsContext_1=tslib_1.__importDefault(require("../../context/SkuListsContext")),ExternalFunctionContext_1=tslib_1.__importDefault(require("../../context/ExternalFunctionContext")),SkuChildrenContext_1=tslib_1.__importDefault(require("../../context/SkuChildrenContext")),getCartLink_1=tslib_1.__importDefault(require("../../utils/getCartLink")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext"));function AddToCartButton(props){const{label="Add to cart",children,skuCode,bundleCode,disabled,skuListId,lineItem,buyNowMode=!1,checkoutUrl,redirectToHostedCart,hostedCartUrl,...p}=props,{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),{addToCart,orderId,getOrder,setOrderErrors}=(0,react_1.useContext)(OrderContext_1.default),{url,callExternalFunction}=(0,react_1.useContext)(ExternalFunctionContext_1.default),{item,items,quantity,option,prices,lineItems,lineItem:lineItemContext,skuCode:itemSkuCode}=(0,react_1.useContext)(ItemContext_1.default),{skuLists}=(0,react_1.useContext)(SkuListsContext_1.default),{sku}=(0,react_1.useContext)(SkuChildrenContext_1.default),[slug]=endpoint?endpoint.split(".commercelayer"):[""],sCode=!(0,isEmpty_1.default)(items)&&skuCode?items[skuCode]?.code:sku?.code||skuCode||(0,getCurrentItemKey_1.default)(item)||itemSkuCode,availabilityQuantity=item[sCode]?.inventory?.quantity,handleClick=async()=>{const qty=quantity[sCode],opt=option[sCode],customLineItem=(0,isEmpty_1.default)(lineItem||lineItemContext)?lineItems[sCode]:lineItem||lineItemContext;if(!(0,isEmpty_1.default)(skuLists)&&skuListId&&url){const slQty=quantity[skuListId]||1;if((0,has_1.default)(skuLists,skuListId)){const lineItems2=skuLists&&skuLists[skuListId].map(skuCode2=>({skuCode:skuCode2,quantity:slQty,_update_quantity:1}));return callExternalFunction({url,data:{resourceType:"orders",inputs:[{id:orderId,lineItems:lineItems2}]}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))}}if(!url&&addToCart){const res=await addToCart({bundleCode,skuCode:sCode,skuId:item[sCode]?.id,quantity:qty,option:opt,lineItem:customLineItem,buyNowMode,checkoutUrl});if(redirectToHostedCart){const orderId2=res.orderId;hostedCartUrl?location.href=`https://${hostedCartUrl}/${orderId2}?accessToken=${accessToken}`:orderId2&&slug&&(location.href=(0,getCartLink_1.default)({orderId:orderId2,slug,accessToken}))}return res}else if(url)return callExternalFunction({url,data:{bundleCode,skuCode:sCode,skuId:item[sCode]?.id,quantity:qty,option:opt,lineItem:customLineItem,buyNowMode,checkoutUrl}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))},autoDisabled=!(0,isEmpty_1.default)(skuLists)||skuListId?!1:disabled||!prices[sCode]||!sCode||availabilityQuantity===0,parentProps={handleClick,disabled:disabled||autoDisabled,label,...props};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("button",{...p,disabled:autoDisabled,onClick:handleClick,children:label})}exports.AddToCartButton=AddToCartButton,exports.default=AddToCartButton;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AddToCartButton=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),has_1=tslib_1.__importDefault(require("lodash/has")),ItemContext_1=tslib_1.__importDefault(require("../../context/ItemContext")),getCurrentItemKey_1=tslib_1.__importDefault(require("../../utils/getCurrentItemKey")),SkuListsContext_1=tslib_1.__importDefault(require("../../context/SkuListsContext")),ExternalFunctionContext_1=tslib_1.__importDefault(require("../../context/ExternalFunctionContext")),SkuChildrenContext_1=tslib_1.__importDefault(require("../../context/SkuChildrenContext")),getCartLink_1=tslib_1.__importDefault(require("../../utils/getCartLink")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext"));function AddToCartButton(props){const{label="Add to cart",children,skuCode,bundleCode,disabled,skuListId,lineItem,buyNowMode=!1,checkoutUrl,redirectToHostedCart,hostedCartUrl,...p}=props,{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),{addToCart,orderId,getOrder,setOrderErrors}=(0,react_1.useContext)(OrderContext_1.default),{url,callExternalFunction}=(0,react_1.useContext)(ExternalFunctionContext_1.default),{item,items,quantity,option,prices,lineItems,lineItem:lineItemContext,skuCode:itemSkuCode}=(0,react_1.useContext)(ItemContext_1.default),{skuLists}=(0,react_1.useContext)(SkuListsContext_1.default),{sku}=(0,react_1.useContext)(SkuChildrenContext_1.default),[slug]=endpoint?endpoint.split(".commercelayer"):[""],sCode=!(0,isEmpty_1.default)(items)&&skuCode?items[skuCode]?.code:sku?.code||skuCode||(0,getCurrentItemKey_1.default)(item)||itemSkuCode,availabilityQuantity=item[sCode]?.inventory?.quantity,handleClick=async()=>{const qty=quantity[sCode],opt=option[sCode],customLineItem=(0,isEmpty_1.default)(lineItem||lineItemContext)?lineItems[sCode]:lineItem||lineItemContext;if(!(0,isEmpty_1.default)(skuLists)&&skuListId&&url){const slQty=quantity[skuListId]||1;if((0,has_1.default)(skuLists,skuListId)){const lineItems2=skuLists?.[skuListId]?.map(skuCode2=>({skuCode:skuCode2,quantity:slQty,_update_quantity:1}));return await callExternalFunction({url,data:{resourceType:"orders",inputs:[{id:orderId,lineItems:lineItems2}]}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))}}if(!url&&addToCart){const res=await addToCart({bundleCode,skuCode:sCode,skuId:item[sCode]?.id,quantity:qty,option:opt,lineItem:customLineItem,buyNowMode,checkoutUrl});if(redirectToHostedCart){const orderId2=res.orderId;hostedCartUrl&&orderId2?location.href=`https://${hostedCartUrl}/${orderId2}?accessToken=${accessToken}`:orderId2&&slug&&(location.href=(0,getCartLink_1.default)({orderId:orderId2,slug,accessToken}))}return res}else if(url)return await callExternalFunction({url,data:{bundleCode,skuCode:sCode,skuId:item[sCode]?.id,quantity:qty,option:opt,lineItem:customLineItem,buyNowMode,checkoutUrl}}).then(async res=>(getOrder&&orderId&&await getOrder(orderId),res)).catch(({response})=>(setOrderErrors&&setOrderErrors(response.data),response))},autoDisabled=!(0,isEmpty_1.default)(skuLists)||skuListId?!1:disabled||!prices[sCode]||!sCode||availabilityQuantity===0,parentProps={handleClick,disabled:disabled||autoDisabled,label,...props};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("button",{...p,disabled:autoDisabled,onClick:()=>{handleClick()},children:label})}exports.AddToCartButton=AddToCartButton,exports.default=AddToCartButton;
@@ -1,12 +1,12 @@
1
1
  import { MouseEvent, ReactNode } from 'react';
2
- import { FunctionChildren } from '../../typings/index';
3
- declare type TChildren = FunctionChildren<Omit<Props, 'children'> & {
2
+ import { ChildrenFunction } from '../../typings/index';
3
+ interface ChildrenProps extends Omit<Props, 'children'> {
4
4
  href: string;
5
5
  handleClick?: (e: MouseEvent<HTMLAnchorElement>) => Promise<void>;
6
- }>;
7
- declare type Props = {
8
- children?: TChildren;
6
+ }
7
+ interface Props extends Omit<JSX.IntrinsicElements['a'], 'children'> {
8
+ children?: ChildrenFunction<ChildrenProps>;
9
9
  label?: string | ReactNode;
10
- } & JSX.IntrinsicElements['a'];
10
+ }
11
11
  export declare function CartLink(props: Props): JSX.Element | null;
12
12
  export default CartLink;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CartLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),getCartLink_1=tslib_1.__importDefault(require("../../utils/getCartLink"));function CartLink(props){const{label,children,...p}=props,{order,createOrder}=(0,react_1.useContext)(OrderContext_1.default),{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),[slug]=endpoint.split(".commercelayer"),href=slug&&order?.id?(0,getCartLink_1.default)({slug,orderId:order?.id,accessToken}):"",handleClick=async event=>{if(event.preventDefault(),order?.id)location.href=href;else{const orderId=await createOrder();slug&&(location.href=(0,getCartLink_1.default)({slug,orderId,accessToken}))}},parentProps={handleClick,label,href,...p};return accessToken?children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("a",{href,...p,onClick:handleClick,children:label}):null}exports.CartLink=CartLink,exports.default=CartLink;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CartLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),getCartLink_1=tslib_1.__importDefault(require("../../utils/getCartLink"));function CartLink(props){const{label,children,...p}=props,{order,createOrder}=(0,react_1.useContext)(OrderContext_1.default),{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),[slug]=endpoint.split(".commercelayer"),href=slug&&order?.id?(0,getCartLink_1.default)({slug,orderId:order?.id,accessToken}):"",handleClick=async event=>{if(event.preventDefault(),order?.id)location.href=href;else{const orderId=await createOrder();slug&&(location.href=(0,getCartLink_1.default)({slug,orderId,accessToken}))}},parentProps={handleClick,label,href,...p};return accessToken?children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("a",{href,...p,onClick:e=>{handleClick(e)},children:label}):null}exports.CartLink=CartLink,exports.default=CartLink;
@@ -1,11 +1,11 @@
1
1
  /// <reference types="react" />
2
- import { FunctionChildren } from '../../typings/index';
3
- declare type CheckoutLinkChildrenProps = FunctionChildren<Omit<Props, 'children'> & {
2
+ import { ChildrenFunction } from '../../typings/index';
3
+ interface ChildrenProps extends Omit<Props, 'children'> {
4
4
  checkoutUrl: string;
5
5
  href: string;
6
- }>;
6
+ }
7
7
  declare type Props = {
8
- children?: CheckoutLinkChildrenProps;
8
+ children?: ChildrenFunction<ChildrenProps>;
9
9
  label?: string;
10
10
  hostedCheckout?: boolean;
11
11
  } & JSX.IntrinsicElements['a'];
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CheckoutLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext"));function CheckoutLink(props){const{label,hostedCheckout=!0,children,...p}=props,{order}=(0,react_1.useContext)(OrderContext_1.default),{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),[slug]=endpoint.split(".commercelayer"),href=hostedCheckout?`${slug}.checkout.commercelayer.app/${order?.id}?accessToken=${accessToken}`:order?.checkout_url,parentProps={checkoutUrl:order?.checkout_url,hostedCheckout,label,href,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("a",{href,...p,children:label})}exports.CheckoutLink=CheckoutLink,exports.default=CheckoutLink;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CheckoutLink=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext"));function CheckoutLink(props){const{label,hostedCheckout=!0,children,...p}=props,{order}=(0,react_1.useContext)(OrderContext_1.default),{accessToken,endpoint}=(0,react_1.useContext)(CommerceLayerContext_1.default),[slug]=endpoint.split(".commercelayer"),href=hostedCheckout&&slug&&order?.id?`${slug}.checkout.commercelayer.app/${order.id}?accessToken=${accessToken}`:order?.checkout_url,parentProps={checkoutUrl:order?.checkout_url,hostedCheckout,label,href,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("a",{href,...p,children:label})}exports.CheckoutLink=CheckoutLink,exports.default=CheckoutLink;
@@ -1,22 +1,11 @@
1
1
  import { ReactNode } from 'react';
2
- declare type Props = {
2
+ interface Props {
3
3
  children: ReactNode;
4
4
  skuCode?: string | null;
5
5
  lineItem?: {
6
6
  name: string;
7
7
  imageUrl?: string | null;
8
8
  } | null;
9
- };
10
- export declare function ItemContainer(props: Props): JSX.Element;
11
- export declare namespace ItemContainer {
12
- var propTypes: {
13
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
14
- skuCode: import("prop-types").Requireable<string>;
15
- lineItem: import("prop-types").Requireable<import("prop-types").InferProps<{
16
- name: import("prop-types").Validator<string>;
17
- imageUrl: import("prop-types").Requireable<string>;
18
- }>>;
19
- };
20
- var displayName: string;
21
9
  }
10
+ export declare function ItemContainer(props: Props): JSX.Element;
22
11
  export default ItemContainer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ItemContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),ItemContext_1=tslib_1.__importStar(require("../../context/ItemContext")),ItemReducer_1=tslib_1.__importStar(require("../../reducers/ItemReducer")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.ItemContainer.propTypes,displayName=components_1.default.ItemContainer.displayName;function ItemContainer(props){const{children,skuCode,lineItem}=props,[state,dispatch]=(0,react_1.useReducer)(ItemReducer_1.default,ItemReducer_1.itemInitialState);(0,react_1.useEffect)(()=>{const code=skuCode;code&&(0,ItemReducer_1.setItemState)(code,{type:"setSkuCode",key:"skuCode"},dispatch),lineItem&&(0,ItemReducer_1.setItemState)(lineItem,{type:"setCustomLineItem",key:"lineItem"},dispatch)},[]);const setItems=items=>(0,ItemReducer_1.setItemState)(items,{type:"setItems",key:"items"},dispatch),setItem=item=>(0,ItemReducer_1.setItemState)(item,{type:"setItem",key:"item"},dispatch),setQuantity=item=>(0,ItemReducer_1.setItemState)(item,{type:"setQuantity",key:"quantity"},dispatch),setOption=item=>(0,ItemReducer_1.setItemState)(item,{type:"setOption",key:"option"},dispatch),setPrices=item=>(0,ItemReducer_1.setItemState)(item,{type:"setPrices",key:"prices"},dispatch),setCustomLineItems=item=>(0,ItemReducer_1.setItemState)(item,{type:"setCustomLineItems",key:"lineItems"},dispatch),setSkuCode=code=>(0,ItemReducer_1.setItemState)(code,{type:"setSkuCode",key:"skuCode"},dispatch),itemValue={...ItemContext_1.initialItemContext,...state,setItems,setItem,setQuantity,setOption,setPrices,setCustomLineItems,setSkuCode};return(0,jsx_runtime_1.jsx)(ItemContext_1.default.Provider,{value:itemValue,children})}exports.ItemContainer=ItemContainer,ItemContainer.propTypes=propTypes,ItemContainer.displayName=displayName,exports.default=ItemContainer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ItemContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),ItemContext_1=tslib_1.__importStar(require("../../context/ItemContext")),ItemReducer_1=tslib_1.__importStar(require("../../reducers/ItemReducer"));function ItemContainer(props){const{children,skuCode,lineItem}=props,[state,dispatch]=(0,react_1.useReducer)(ItemReducer_1.default,ItemReducer_1.itemInitialState);(0,react_1.useEffect)(()=>{const code=skuCode;code&&(0,ItemReducer_1.setItemState)(code,{type:"setSkuCode",key:"skuCode"},dispatch),lineItem&&(0,ItemReducer_1.setItemState)(lineItem,{type:"setCustomLineItem",key:"lineItem"},dispatch)},[]);const setItems=items=>(0,ItemReducer_1.setItemState)(items,{type:"setItems",key:"items"},dispatch),setItem=item=>(0,ItemReducer_1.setItemState)(item,{type:"setItem",key:"item"},dispatch),setQuantity=item=>(0,ItemReducer_1.setItemState)(item,{type:"setQuantity",key:"quantity"},dispatch),setOption=item=>(0,ItemReducer_1.setItemState)(item,{type:"setOption",key:"option"},dispatch),setPrices=item=>(0,ItemReducer_1.setItemState)(item,{type:"setPrices",key:"prices"},dispatch),setCustomLineItems=item=>(0,ItemReducer_1.setItemState)(item,{type:"setCustomLineItems",key:"lineItems"},dispatch),setSkuCode=code=>(0,ItemReducer_1.setItemState)(code,{type:"setSkuCode",key:"skuCode"},dispatch),itemValue={...ItemContext_1.initialItemContext,...state,setItems,setItem,setQuantity,setOption,setPrices,setCustomLineItems,setSkuCode};return(0,jsx_runtime_1.jsx)(ItemContext_1.default.Provider,{value:itemValue,children})}exports.ItemContainer=ItemContainer,exports.default=ItemContainer;
@@ -1,26 +1,12 @@
1
- import { ReactNode } from 'react';
1
+ /// <reference types="react" />
2
2
  import { BaseMetadataObject } from '../../typings/index';
3
3
  import type { OrderCreate, Order } from '@commercelayer/sdk';
4
- declare type Props = {
5
- children: ReactNode;
4
+ interface Props {
5
+ children: JSX.Element[] | JSX.Element;
6
6
  metadata?: BaseMetadataObject;
7
7
  attributes?: OrderCreate;
8
8
  orderId?: string;
9
9
  fetchOrder?: (order: Order) => void;
10
- };
11
- export declare function OrderContainer(props: Props): JSX.Element;
12
- export declare namespace OrderContainer {
13
- var propTypes: {
14
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
15
- orderId: import("prop-types").Requireable<string>;
16
- metadata: import("prop-types").Requireable<{
17
- [x: string]: string | null | undefined;
18
- }>;
19
- attributes: import("prop-types").Requireable<object>;
20
- };
21
- var defaultProps: {
22
- metadata: {};
23
- };
24
- var displayName: string;
25
10
  }
11
+ export declare function OrderContainer(props: Props): JSX.Element;
26
12
  export default OrderContainer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderReducer_1=tslib_1.__importStar(require("../../reducers/OrderReducer")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),OrderContext_1=tslib_1.__importStar(require("../../context/OrderContext")),components_1=tslib_1.__importDefault(require("../../config/components")),OrderStorageContext_1=tslib_1.__importDefault(require("../../context/OrderStorageContext")),compareObjAttribute_1=tslib_1.__importDefault(require("../../utils/compareObjAttribute")),propTypes=components_1.default.OrderContainer.propTypes,defaultProps=components_1.default.OrderContainer.defaultProps,displayName=components_1.default.OrderContainer.displayName;function OrderContainer(props){const{orderId,children,metadata,attributes,fetchOrder}=props,[state,dispatch]=(0,react_1.useReducer)(OrderReducer_1.default,OrderReducer_1.orderInitialState),[lock,setLock]=(0,react_1.useState)(!1),[lockOrder,setLockOrder]=(0,react_1.useState)(!0),config=(0,react_1.useContext)(CommerceLayerContext_1.default),{persistKey,clearWhenPlaced,getLocalOrder,setLocalOrder,deleteLocalOrder}=(0,react_1.useContext)(OrderStorageContext_1.default);(0,react_1.useEffect)(()=>{state.withoutIncludes||dispatch({type:"setLoading",payload:{loading:!0}})},[state.withoutIncludes]),(0,react_1.useEffect)(()=>{if(attributes&&state?.order&&!lock){const updateAttributes=(0,compareObjAttribute_1.default)({attributes,object:state.order});Object.keys(updateAttributes).length>0&&((0,OrderReducer_1.updateOrder)({id:state.order.id,attributes:updateAttributes,dispatch,config,include:state.include,state}),setLock(!0))}return()=>{if(attributes&&state?.order){const updateAttributes=(0,compareObjAttribute_1.default)({attributes,object:state.order});state.order&&Object.keys(updateAttributes).length===0&&setLock(!1)}}},[attributes,state?.order,lock]),(0,react_1.useEffect)(()=>{const localOrder=persistKey?getLocalOrder(persistKey):orderId,startRequest=Object.keys(state?.includeLoaded||{}).filter(key=>state?.includeLoaded?.[key]===!0),getOrder=async()=>{const removeOrderPlaced=!!(persistKey&&clearWhenPlaced);localOrder&&await(0,OrderReducer_1.getApiOrder)({id:localOrder,dispatch,config,persistKey,clearWhenPlaced:removeOrderPlaced,deleteLocalOrder,state})};return config.accessToken&&!state.loading?localOrder&&!state.order&&state.include?.length===startRequest.length&&!state.withoutIncludes&&!lockOrder?getOrder():state?.order?fetchOrder&&fetchOrder(state.order):state.withoutIncludes&&!state.include?.length&&startRequest.length===0&&getOrder():[config.accessToken,!state.order,state.loading,state.withoutIncludes].every(Boolean)?dispatch({type:"setLoading",payload:{loading:!1}}):[config.accessToken,!state.order,state.loading,!state.withoutIncludes].every(Boolean)&&dispatch({type:"setLoading",payload:{loading:!1}}),()=>{!state.order&&state.loading&&!state.withoutIncludes&&(state.include?.length===0&&startRequest.length>0?dispatch({type:"setLoading",payload:{loading:!1}}):state.include&&state.include?.length>0&&(dispatch({type:"setIncludesResource",payload:{include:[]}}),setLockOrder(!1)))}},[config.accessToken,state.includeLoaded,state.include,orderId,state.order,state.loading,state.withoutIncludes,lockOrder]);const orderValue=(0,react_1.useMemo)(()=>({...state,setOrder:order=>(0,OrderReducer_1.setOrder)(order,dispatch),getOrder:id=>(0,OrderReducer_1.getApiOrder)({id,dispatch,config,state}),setOrderErrors:errors=>(0,OrderReducer_1.setOrderErrors)({dispatch,errors}),createOrder:()=>(0,OrderReducer_1.createOrder)({persistKey,dispatch,config,state,orderMetadata:metadata,orderAttributes:attributes,setLocalOrder}),addToCart:values=>OrderContext_1.defaultOrderContext.addToCart({...values,persistKey,dispatch,state,config,errors:state.errors,orderMetadata:metadata||{},orderAttributes:attributes,setLocalOrder}),saveAddressToCustomerAddressBook:args=>OrderContext_1.defaultOrderContext.saveAddressToCustomerAddressBook({...args,dispatch}),setGiftCardOrCouponCode:({code,codeType})=>OrderContext_1.defaultOrderContext.setGiftCardOrCouponCode({code,codeType,dispatch,order:state.order,config,include:state.include,state}),removeGiftCardOrCouponCode:({codeType})=>OrderContext_1.defaultOrderContext.removeGiftCardOrCouponCode({codeType,dispatch,order:state.order,config,include:state.include,state}),addResourceToInclude:args=>OrderContext_1.defaultOrderContext.addResourceToInclude({...args,dispatch,resourcesIncluded:state.include,resourceIncludedLoaded:state.includeLoaded}),updateOrder:async args=>await OrderContext_1.defaultOrderContext.updateOrder({...args,dispatch,config,include:state.include,state})}),[state,config.accessToken]);return(0,jsx_runtime_1.jsx)(OrderContext_1.default.Provider,{value:orderValue,children})}exports.OrderContainer=OrderContainer,OrderContainer.propTypes=propTypes,OrderContainer.defaultProps=defaultProps,OrderContainer.displayName=displayName,exports.default=OrderContainer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OrderReducer_1=tslib_1.__importStar(require("../../reducers/OrderReducer")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),OrderContext_1=tslib_1.__importStar(require("../../context/OrderContext")),OrderStorageContext_1=tslib_1.__importDefault(require("../../context/OrderStorageContext")),compareObjAttribute_1=tslib_1.__importDefault(require("../../utils/compareObjAttribute"));function OrderContainer(props){const{orderId,children,metadata,attributes,fetchOrder}=props,[state,dispatch]=(0,react_1.useReducer)(OrderReducer_1.default,OrderReducer_1.orderInitialState),[lock,setLock]=(0,react_1.useState)(!1),[lockOrder,setLockOrder]=(0,react_1.useState)(!0),config=(0,react_1.useContext)(CommerceLayerContext_1.default),{persistKey,clearWhenPlaced,getLocalOrder,setLocalOrder,deleteLocalOrder}=(0,react_1.useContext)(OrderStorageContext_1.default);(0,react_1.useEffect)(()=>{state.withoutIncludes||dispatch({type:"setLoading",payload:{loading:!0}})},[state.withoutIncludes]),(0,react_1.useEffect)(()=>{if(attributes&&state?.order&&!lock){const updateAttributes=(0,compareObjAttribute_1.default)({attributes,object:state.order});Object.keys(updateAttributes).length>0&&((0,OrderReducer_1.updateOrder)({id:state.order.id,attributes:updateAttributes,dispatch,config,include:state.include,state}),setLock(!0))}return()=>{if(attributes&&state?.order){const updateAttributes=(0,compareObjAttribute_1.default)({attributes,object:state.order});state.order&&Object.keys(updateAttributes).length===0&&setLock(!1)}}},[attributes,state?.order,lock]),(0,react_1.useEffect)(()=>{const localOrder=persistKey?getLocalOrder(persistKey):orderId,startRequest=Object.keys(state?.includeLoaded||{}).filter(key=>state?.includeLoaded?.[key]===!0),getOrder=async()=>{const removeOrderPlaced=!!(persistKey&&clearWhenPlaced);localOrder&&await(0,OrderReducer_1.getApiOrder)({id:localOrder,dispatch,config,persistKey,clearWhenPlaced:removeOrderPlaced,deleteLocalOrder,state})};return config.accessToken&&!state.loading?localOrder&&!state.order&&state.include?.length===startRequest.length&&!state.withoutIncludes&&!lockOrder?getOrder():state?.order&&fetchOrder?fetchOrder(state.order):state.withoutIncludes&&!state.include?.length&&startRequest.length===0&&getOrder():[config.accessToken,!state.order,state.loading,state.withoutIncludes].every(Boolean)?dispatch({type:"setLoading",payload:{loading:!1}}):[config.accessToken,!state.order,state.loading,!state.withoutIncludes].every(Boolean)&&dispatch({type:"setLoading",payload:{loading:!1}}),()=>{!state.order&&state.loading&&!state.withoutIncludes&&(state.include?.length===0&&startRequest.length>0?dispatch({type:"setLoading",payload:{loading:!1}}):state.include&&state.include?.length>0&&(dispatch({type:"setIncludesResource",payload:{include:[]}}),setLockOrder(!1)))}},[config.accessToken,state.includeLoaded,state.include,orderId,state.order,state.loading,state.withoutIncludes,lockOrder]);const orderValue=(0,react_1.useMemo)(()=>({...state,setOrder:order=>(0,OrderReducer_1.setOrder)(order,dispatch),getOrder:async id=>await(0,OrderReducer_1.getApiOrder)({id,dispatch,config,state}),setOrderErrors:errors=>(0,OrderReducer_1.setOrderErrors)({dispatch,errors}),createOrder:async()=>await(0,OrderReducer_1.createOrder)({persistKey,dispatch,config,state,orderMetadata:metadata,orderAttributes:attributes,setLocalOrder}),addToCart:async values=>await OrderContext_1.defaultOrderContext.addToCart({...values,persistKey,dispatch,state,config,errors:state.errors,orderMetadata:metadata||{},orderAttributes:attributes,setLocalOrder}),saveAddressToCustomerAddressBook:args=>OrderContext_1.defaultOrderContext.saveAddressToCustomerAddressBook({...args,dispatch}),setGiftCardOrCouponCode:async({code,codeType})=>await OrderContext_1.defaultOrderContext.setGiftCardOrCouponCode({code,codeType,dispatch,order:state.order,config,include:state.include,state}),removeGiftCardOrCouponCode:async({codeType})=>await OrderContext_1.defaultOrderContext.removeGiftCardOrCouponCode({codeType,dispatch,order:state.order,config,include:state.include,state}),addResourceToInclude:args=>OrderContext_1.defaultOrderContext.addResourceToInclude({...args,dispatch,resourcesIncluded:state.include,resourceIncludedLoaded:state.includeLoaded}),updateOrder:async args=>await OrderContext_1.defaultOrderContext.updateOrder({...args,dispatch,config,include:state.include,state})}),[state,config.accessToken]);return(0,jsx_runtime_1.jsx)(OrderContext_1.default.Provider,{value:orderValue,children})}exports.OrderContainer=OrderContainer,exports.default=OrderContainer;
@@ -1,18 +1,23 @@
1
- import { ReactNode, ReactElement } from 'react';
1
+ /// <reference types="react" />
2
2
  import { InitialOrderListContext } from '../../context/OrderListChildrenContext';
3
3
  import { Column } from 'react-table';
4
+ import type { Order } from '@commercelayer/sdk';
5
+ export declare type OrderListColumn = Column & {
6
+ Header: string;
7
+ accessor: keyof Order;
8
+ className?: string;
9
+ titleClassName?: string;
10
+ };
4
11
  declare type Props = {
5
- children: ReactNode;
12
+ children: JSX.Element[] | JSX.Element;
6
13
  /**
7
14
  * Columns to show
8
15
  */
9
- columns: (Column & {
10
- className?: string;
11
- })[];
16
+ columns: OrderListColumn[];
12
17
  /**
13
18
  * Custom loader component
14
19
  */
15
- loadingElement?: ReactElement;
20
+ loadingElement?: string | JSX.Element;
16
21
  /**
17
22
  * Function to assign as custom row renderer
18
23
  */
@@ -52,10 +57,4 @@ declare type Props = {
52
57
  windowOptions?: never;
53
58
  });
54
59
  export declare function OrderList({ children, columns, loadingElement, showActions, actionsComponent, actionsContainerClassName, infiniteScroll, windowOptions, theadClassName, rowTrClassName, ...p }: Props): JSX.Element;
55
- export declare namespace OrderList {
56
- var propTypes: {
57
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
58
- };
59
- var displayName: string;
60
- }
61
60
  export default OrderList;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderList=void 0;const tslib_1=require("tslib"),react_1=require("react"),jsx_runtime_1=require("react/jsx-runtime"),react_2=require("react"),components_1=tslib_1.__importDefault(require("../../config/components")),CustomerContext_1=tslib_1.__importDefault(require("../../context/CustomerContext")),OrderListChildrenContext_1=tslib_1.__importDefault(require("../../context/OrderListChildrenContext")),react_table_1=require("react-table"),react_window_1=require("react-window"),scrollbarWidth_1=tslib_1.__importDefault(require("../../utils/scrollbarWidth")),icons_1=require("../../utils/icons"),propTypes=components_1.default.OrderList.propTypes,displayName=components_1.default.OrderList.displayName;function OrderList({children,columns,loadingElement,showActions=!1,actionsComponent,actionsContainerClassName,infiniteScroll,windowOptions,theadClassName,rowTrClassName,...p}){const[loading,setLoading]=(0,react_2.useState)(!0),{orders}=(0,react_2.useContext)(CustomerContext_1.default),data=(0,react_2.useMemo)(()=>orders,[orders]),cols=(0,react_2.useMemo)(()=>columns,[columns]),tablePlugins=[react_table_1.useSortBy];infiniteScroll&&tablePlugins.push(react_table_1.useBlockLayout);const defaultColumn=(0,react_2.useMemo)(()=>({width:windowOptions?.column||150}),[windowOptions?.column]),table=(0,react_table_1.useTable)({data,columns:cols,...infiniteScroll&&{defaultColumn}},...tablePlugins),TableHtmlElement=infiniteScroll?"div":"table",TheadHtmlElement=infiniteScroll?"div":"thead",TbodyHtmlElement=infiniteScroll?"div":"tbody",ThHtmlElement=infiniteScroll?"div":"th",TrHtmlElement=infiniteScroll?"div":"tr";(0,react_2.useEffect)(()=>(orders&&orders.length>0&&setLoading(!1),()=>{setLoading(!0)}),[orders]);const scrollBarSize=infiniteScroll?(0,react_2.useMemo)(()=>(0,scrollbarWidth_1.default)(),[]):0,LoadingComponent=loadingElement||(0,jsx_runtime_1.jsx)("div",{children:"Loading..."}),headerComponent=table.headerGroups.map((headerGroup,i)=>{const columns2=headerGroup.headers.map((column,k)=>(0,react_1.createElement)(ThHtmlElement,{className:column?.className,...column.getHeaderProps(column?.getSortByToggleProps&&column?.getSortByToggleProps()),key:k},(0,jsx_runtime_1.jsxs)("span",{className:column?.titleClassName,children:[column.render("Header"),column.isSorted?column.isSortedDesc?icons_1.sortDescIcon:icons_1.sortAscIcon:""]})));return(0,react_1.createElement)(TrHtmlElement,{...headerGroup.getHeaderGroupProps(),key:i},columns2)}),components=infiniteScroll?(0,react_2.useCallback)(({index,style})=>{const row=table.rows[index];row&&table.prepareRow(row);const childProps={order:orders?.[index],row,showActions,actionsComponent,actionsContainerClassName,infiniteScroll};return(0,jsx_runtime_1.jsx)(TrHtmlElement,{...row&&row.getRowProps({style}),className:rowTrClassName,children:(0,jsx_runtime_1.jsx)(OrderListChildrenContext_1.default.Provider,{value:childProps,children})})},[table.prepareRow,table.rows]):table.rows.map((row,i)=>{table.prepareRow(row);const childProps={order:orders?.[i],row,showActions,actionsComponent,actionsContainerClassName,infiniteScroll};return(0,react_1.createElement)(TrHtmlElement,{...row.getRowProps(),className:rowTrClassName,key:i},(0,jsx_runtime_1.jsx)(OrderListChildrenContext_1.default.Provider,{value:childProps,children}))});return loading?LoadingComponent:(0,jsx_runtime_1.jsxs)(TableHtmlElement,{...p,...table.getTableProps(),children:[(0,jsx_runtime_1.jsx)(TheadHtmlElement,{className:theadClassName,children:headerComponent}),(0,jsx_runtime_1.jsx)(TbodyHtmlElement,{...table.getTableBodyProps(),children:infiniteScroll?(0,jsx_runtime_1.jsx)(react_window_1.FixedSizeList,{height:windowOptions?.height||400,itemCount:table.rows.length,itemSize:windowOptions?.itemSize||100,width:windowOptions?.width||table.totalColumnsWidth+scrollBarSize,children:components}):components})]})}exports.OrderList=OrderList,OrderList.propTypes=propTypes,OrderList.displayName=displayName,exports.default=OrderList;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderList=void 0;const tslib_1=require("tslib"),react_1=require("react"),jsx_runtime_1=require("react/jsx-runtime"),react_2=require("react"),CustomerContext_1=tslib_1.__importDefault(require("../../context/CustomerContext")),OrderListChildrenContext_1=tslib_1.__importDefault(require("../../context/OrderListChildrenContext")),react_table_1=require("react-table"),react_window_1=require("react-window"),scrollbarWidth_1=tslib_1.__importDefault(require("../../utils/scrollbarWidth")),icons_1=require("../../utils/icons");function OrderList({children,columns,loadingElement,showActions=!1,actionsComponent,actionsContainerClassName,infiniteScroll,windowOptions,theadClassName,rowTrClassName,...p}){const[loading,setLoading]=(0,react_2.useState)(!0),{orders}=(0,react_2.useContext)(CustomerContext_1.default),data=(0,react_2.useMemo)(()=>orders??[],[orders]),cols=(0,react_2.useMemo)(()=>columns,[columns]),tablePlugins=[react_table_1.useSortBy];infiniteScroll&&tablePlugins.push(react_table_1.useBlockLayout);const defaultColumn=(0,react_2.useMemo)(()=>({width:windowOptions?.column||150}),[windowOptions?.column]),table=(0,react_table_1.useTable)({data,columns:cols,...infiniteScroll&&{defaultColumn}},...tablePlugins),TableHtmlElement=infiniteScroll?"div":"table",TheadHtmlElement=infiniteScroll?"div":"thead",TbodyHtmlElement=infiniteScroll?"div":"tbody",ThHtmlElement=infiniteScroll?"div":"th",TrHtmlElement=infiniteScroll?"div":"tr";(0,react_2.useEffect)(()=>(orders!==void 0&&setLoading(!1),()=>{setLoading(!0)}),[orders]);const scrollBarSize=infiniteScroll?(0,react_2.useMemo)(()=>(0,scrollbarWidth_1.default)(),[]):0,LoadingComponent=loadingElement||(0,jsx_runtime_1.jsx)("div",{children:"Loading..."}),headerComponent=table.headerGroups.map((headerGroup,i)=>{const columns2=headerGroup.headers.map((column,k)=>{const sortLabel=column.isSorted?column.isSortedDesc?"desc":"asc":"";return(0,react_1.createElement)(ThHtmlElement,{"data-testid":`thead-${k}`,"data-sort":`${sortLabel}`,className:column?.className,...column.getHeaderProps(column?.getSortByToggleProps&&column?.getSortByToggleProps()),key:k},(0,jsx_runtime_1.jsxs)("span",{className:column?.titleClassName,children:[column.render("Header"),column.isSorted?column.isSortedDesc?icons_1.sortDescIcon:icons_1.sortAscIcon:""]}))});return(0,react_1.createElement)(TrHtmlElement,{...headerGroup.getHeaderGroupProps(),key:i},columns2)}),components=infiniteScroll?(0,react_2.useCallback)(({index,style})=>{const row=table.rows[index];row&&table.prepareRow(row);const childProps={orders,order:orders?.[index],row,showActions,actionsComponent,actionsContainerClassName,infiniteScroll};return(0,jsx_runtime_1.jsx)(TrHtmlElement,{...row?.getRowProps({style}),className:rowTrClassName,children:(0,jsx_runtime_1.jsx)(OrderListChildrenContext_1.default.Provider,{value:childProps,children})})},[table.prepareRow,table.rows]):table.rows.map((row,i)=>{table.prepareRow(row);const childProps={orders,order:orders?.[i],row,showActions,actionsComponent,actionsContainerClassName,infiniteScroll};return(0,react_1.createElement)(TrHtmlElement,{...row.getRowProps(),className:rowTrClassName,key:i},(0,jsx_runtime_1.jsx)(OrderListChildrenContext_1.default.Provider,{value:childProps,children}))});return loading&&orders==null?(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:LoadingComponent}):orders?.length===0?(0,jsx_runtime_1.jsx)(OrderListChildrenContext_1.default.Provider,{value:{orders},children}):(0,jsx_runtime_1.jsxs)(TableHtmlElement,{...p,...table.getTableProps(),children:[(0,jsx_runtime_1.jsx)(TheadHtmlElement,{className:theadClassName,children:headerComponent}),(0,jsx_runtime_1.jsx)(TbodyHtmlElement,{...table.getTableBodyProps(),children:infiniteScroll?(0,jsx_runtime_1.jsx)(react_window_1.FixedSizeList,{height:windowOptions?.height||400,itemCount:table.rows.length,itemSize:windowOptions?.itemSize||100,width:windowOptions?.width||table.totalColumnsWidth+scrollBarSize,children:components}):components})]})}exports.OrderList=OrderList,exports.default=OrderList;
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { ChildrenFunction } from '../../typings/index';
3
+ interface Props extends Omit<JSX.IntrinsicElements['span'], 'children'> {
4
+ /**
5
+ * Function allow you to customize the component
6
+ */
7
+ children?: ChildrenFunction<Omit<Props, 'children'>>;
8
+ /**
9
+ * Label to show. Default: 'No orders available.'
10
+ */
11
+ emptyText?: string;
12
+ }
13
+ export declare function OrderListEmpty(props: Props): JSX.Element | null;
14
+ export default OrderListEmpty;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderListEmpty=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),OrderListChildrenContext_1=tslib_1.__importDefault(require("../../context/OrderListChildrenContext")),react_1=require("react");function OrderListEmpty(props){const{children,emptyText="No orders available",...p}=props,{orders}=(0,react_1.useContext)(OrderListChildrenContext_1.default),parentProps={emptyText,...p};return orders!=null&&orders.length>0?null:children!==void 0?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("span",{...p,children:emptyText})}exports.OrderListEmpty=OrderListEmpty,exports.default=OrderListEmpty;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { Cell, Row } from 'react-table';
2
+ import type { Cell, Row } from 'react-table';
3
3
  import type { Order } from '@commercelayer/sdk';
4
- declare type ChildrenProps = Omit<Props, 'children'> & {
4
+ interface ChildrenProps extends Omit<Props, 'children'> {
5
5
  /**
6
6
  * The order resource
7
7
  */
@@ -14,17 +14,21 @@ declare type ChildrenProps = Omit<Props, 'children'> & {
14
14
  * The current cell
15
15
  */
16
16
  cell: Cell[];
17
+ /**
18
+ * All table cells
19
+ */
20
+ cells: Cell[];
17
21
  /**
18
22
  * Infinite scroll enabled
19
23
  */
20
24
  infiniteScroll: boolean;
21
- };
22
- declare type Props = {
25
+ }
26
+ interface Props extends Omit<JSX.IntrinsicElements['td'], 'children'> {
23
27
  children?: (props: ChildrenProps) => JSX.Element;
24
28
  /**
25
29
  * The order field to show
26
30
  */
27
31
  field: keyof Order;
28
- } & JSX.IntrinsicElements['td'];
32
+ }
29
33
  export declare function OrderListRow({ field, children, ...p }: Props): JSX.Element;
30
34
  export default OrderListRow;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderListRow=void 0;const tslib_1=require("tslib"),react_1=require("react"),jsx_runtime_1=require("react/jsx-runtime"),react_2=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),OrderListChildrenContext_1=tslib_1.__importDefault(require("../../context/OrderListChildrenContext")),isDate_1=tslib_1.__importDefault(require("../../utils/isDate")),last_1=tslib_1.__importDefault(require("lodash/last"));function OrderListRow({field,children,...p}){const{order,row,showActions,actionsComponent,actionsContainerClassName,infiniteScroll}=(0,react_2.useContext)(OrderListChildrenContext_1.default),cell=row?.cells.filter(cell2=>cell2.column.id===field),isLastRow=(0,last_1.default)(row?.cells)?.column.id===field,As=infiniteScroll?"div":"td",ActionRow=()=>showActions&&isLastRow&&actionsComponent&&(0,jsx_runtime_1.jsx)(As,{...p,className:actionsContainerClassName,children:(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:actionsComponent})})||null,parentProps={...p,field,order,row,cell,infiniteScroll};return children?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}),(0,jsx_runtime_1.jsx)(ActionRow,{})]}):(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[cell?.map((cell2,k)=>{const cellValue=cell2.value,value=(0,isDate_1.default)(cellValue)?new Date(Date.parse(cellValue)).toLocaleString():cell2.render("Cell");return(0,react_1.createElement)(As,{...p,...cell2.getCellProps(),key:k},value)}),(0,jsx_runtime_1.jsx)(ActionRow,{})]})}exports.OrderListRow=OrderListRow,exports.default=OrderListRow;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OrderListRow=void 0;const tslib_1=require("tslib"),react_1=require("react"),jsx_runtime_1=require("react/jsx-runtime"),react_2=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),OrderListChildrenContext_1=tslib_1.__importDefault(require("../../context/OrderListChildrenContext")),isDate_1=tslib_1.__importDefault(require("../../utils/isDate")),last_1=tslib_1.__importDefault(require("lodash/last"));function OrderListRow({field,children,...p}){const{order,row,showActions,actionsComponent,actionsContainerClassName,infiniteScroll}=(0,react_2.useContext)(OrderListChildrenContext_1.default),cell=row?.cells.filter(cell2=>cell2.column.id===field),isLastRow=(0,last_1.default)(row?.cells)?.column.id===field,As=infiniteScroll?"div":"td",ActionRow=()=>showActions&&isLastRow&&actionsComponent&&(0,jsx_runtime_1.jsx)(As,{"data-testid":"action-cell",...p,className:actionsContainerClassName,children:(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:actionsComponent})})||null,parentProps={...p,field,order,row,cell,infiniteScroll};return children?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}),(0,jsx_runtime_1.jsx)(ActionRow,{})]}):(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[cell?.map((cell2,k)=>{const cellValue=cell2.value,value=(0,isDate_1.default)(cellValue)?new Date(Date.parse(cellValue)).toLocaleString():cell2.render("Cell");return(0,react_1.createElement)(As,{"data-testid":`cell-${k}`,...p,...cell2.getCellProps(),key:k},value)}),(0,jsx_runtime_1.jsx)(ActionRow,{})]})}exports.OrderListRow=OrderListRow,exports.default=OrderListRow;
@@ -1,24 +1,14 @@
1
1
  import { ReactNode } from 'react';
2
- import { FunctionChildren } from '../../typings/index';
3
- declare type ChildrenProps = FunctionChildren<Omit<Props, 'children'> & {
2
+ import { ChildrenFunction } from '../../typings/index';
3
+ interface ChildrenProps extends Omit<Props, 'children'> {
4
4
  handleClick: () => Promise<void>;
5
- }>;
5
+ }
6
6
  declare type Props = {
7
- children?: ChildrenProps;
7
+ children?: ChildrenFunction<ChildrenProps>;
8
8
  label?: string | ReactNode;
9
9
  onClick?: (response: {
10
10
  placed: boolean;
11
11
  }) => void;
12
12
  } & JSX.IntrinsicElements['button'];
13
13
  export declare function PlaceOrderButton(props: Props): JSX.Element;
14
- export declare namespace PlaceOrderButton {
15
- var propTypes: {
16
- children: import("prop-types").Requireable<(...args: any[]) => any>;
17
- label: import("prop-types").Requireable<NonNullable<string | import("prop-types").ReactElementLike | null | undefined>>;
18
- };
19
- var defaultProps: {
20
- label: string;
21
- };
22
- var displayName: string;
23
- }
24
14
  export default PlaceOrderButton;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlaceOrderButton=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),components_1=tslib_1.__importDefault(require("../../config/components")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),isFunction_1=tslib_1.__importDefault(require("lodash/isFunction")),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),getCardDetails_1=tslib_1.__importDefault(require("../../utils/getCardDetails")),propTypes=components_1.default.PlaceOrderButton.propTypes,defaultProps=components_1.default.PlaceOrderButton.defaultProps,displayName=components_1.default.PlaceOrderButton.displayName;function PlaceOrderButton(props){const ref=(0,react_1.useRef)(null),{children,label="Place order",disabled,onClick,...p}=props,{isPermitted,setPlaceOrder,options,paymentType,setButtonRef}=(0,react_1.useContext)(PlaceOrderContext_1.default),[notPermitted,setNotPermitted]=(0,react_1.useState)(!0),[forceDisable,setForceDisable]=(0,react_1.useState)(disabled),{currentPaymentMethodRef,loading,currentPaymentMethodType,paymentSource,setPaymentSource}=(0,react_1.useContext)(PaymentMethodContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),isFree=order?.total_amount_with_taxes_cents===0;(0,react_1.useEffect)(()=>{if(loading)setNotPermitted(loading);else if(paymentType===currentPaymentMethodType&&paymentType){const card=(0,getCardDetails_1.default)({customerPayment:{payment_source:paymentSource},paymentType});(isFree&&isPermitted||currentPaymentMethodRef?.current?.onsubmit||card.brand)&&isPermitted&&setNotPermitted(!1)}else setNotPermitted(!(isFree&&isPermitted));return()=>{setNotPermitted(!0)}},[isPermitted,paymentType,currentPaymentMethodRef?.current?.onsubmit,loading,currentPaymentMethodType,order,paymentSource]),(0,react_1.useEffect)(()=>{paymentType==="paypal_payments"&&options?.paypalPayerId&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.paypalPayerId,paymentType]),(0,react_1.useEffect)(()=>{if(paymentType==="adyen_payments"&&options?.adyen?.redirectResult&&order?.status&&["draft","pending"].includes(order?.status)){const attributes={payment_request_details:{details:{redirectResult:options?.adyen?.redirectResult},paymentData:paymentSource.payment_response.paymentData},_details:1};setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}).then(res=>{const resultCode=res?.payment_response?.resultCode;["Authorised","Pending","Received"].includes(resultCode)&&handleClick()})}paymentType==="adyen_payments"&&options?.adyen?.MD&&options?.adyen?.PaRes&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.adyen,paymentType]),(0,react_1.useEffect)(()=>{paymentType==="checkout_com_payments"&&options?.checkoutCom?.session_id&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.checkoutCom,paymentType]),(0,react_1.useEffect)(()=>{ref!=null&&ref.current!=null&&setButtonRef!=null&&setButtonRef(ref)},[ref]);const handleClick=async()=>{let isValid=!0;setForceDisable(!0);const card=paymentType&&(0,getCardDetails_1.default)({paymentType,customerPayment:{payment_source:paymentSource}});currentPaymentMethodRef?.current?.onsubmit&&[!options?.paypalPayerId,!options?.adyen?.MD,!options?.checkoutCom?.session_id].every(Boolean)?(isValid=await currentPaymentMethodRef.current?.onsubmit(paymentSource),isValid===!1&&paymentSource.payment_response?.resultCode==="Authorised"&&(isValid=!0)):card?.brand&&(isValid=!0);const placed=isValid&&setPlaceOrder&&(paymentSource||isFree)&&await setPlaceOrder({paymentSource});setForceDisable(!1),onClick&&placed&&onClick(placed)},disabledButton=disabled!==void 0?disabled:notPermitted,parentProps={...p,label,disabled:disabledButton,handleClick,ref};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("button",{ref,type:"button",disabled:disabledButton||forceDisable,onClick:handleClick,...p,children:(0,isFunction_1.default)(label)?label():label})}exports.PlaceOrderButton=PlaceOrderButton,PlaceOrderButton.propTypes=propTypes,PlaceOrderButton.defaultProps=defaultProps,PlaceOrderButton.displayName=displayName,exports.default=PlaceOrderButton;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlaceOrderButton=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),isFunction_1=tslib_1.__importDefault(require("lodash/isFunction")),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),getCardDetails_1=tslib_1.__importDefault(require("../../utils/getCardDetails"));function PlaceOrderButton(props){const ref=(0,react_1.useRef)(null),{children,label="Place order",disabled,onClick,...p}=props,{isPermitted,setPlaceOrder,options,paymentType,setButtonRef}=(0,react_1.useContext)(PlaceOrderContext_1.default),[notPermitted,setNotPermitted]=(0,react_1.useState)(!0),[forceDisable,setForceDisable]=(0,react_1.useState)(disabled),{currentPaymentMethodRef,loading,currentPaymentMethodType,paymentSource,setPaymentSource}=(0,react_1.useContext)(PaymentMethodContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),isFree=order?.total_amount_with_taxes_cents===0;(0,react_1.useEffect)(()=>{if(loading)setNotPermitted(loading);else if(paymentType===currentPaymentMethodType&&paymentType){const card=(0,getCardDetails_1.default)({customerPayment:{payment_source:paymentSource},paymentType});(isFree&&isPermitted||currentPaymentMethodRef?.current?.onsubmit||card.brand)&&isPermitted&&setNotPermitted(!1)}else setNotPermitted(!(isFree&&isPermitted));return()=>{setNotPermitted(!0)}},[isPermitted,paymentType,currentPaymentMethodRef?.current?.onsubmit,loading,currentPaymentMethodType,order,paymentSource]),(0,react_1.useEffect)(()=>{paymentType==="paypal_payments"&&options?.paypalPayerId&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.paypalPayerId,paymentType]),(0,react_1.useEffect)(()=>{if(paymentType==="adyen_payments"&&options?.adyen?.redirectResult&&order?.status&&["draft","pending"].includes(order?.status)){const attributes={payment_request_details:{details:{redirectResult:options?.adyen?.redirectResult},paymentData:paymentSource.payment_response.paymentData},_details:1};setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}).then(res=>{const resultCode=res?.payment_response?.resultCode;["Authorised","Pending","Received"].includes(resultCode)&&handleClick()})}paymentType==="adyen_payments"&&options?.adyen?.MD&&options?.adyen?.PaRes&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.adyen,paymentType]),(0,react_1.useEffect)(()=>{paymentType==="checkout_com_payments"&&options?.checkoutCom?.session_id&&order?.status&&["draft","pending"].includes(order?.status)&&handleClick()},[options?.checkoutCom,paymentType]),(0,react_1.useEffect)(()=>{ref?.current!=null&&setButtonRef!=null&&setButtonRef(ref)},[ref]);const handleClick=async()=>{let isValid=!0;setForceDisable(!0);const card=paymentType&&(0,getCardDetails_1.default)({paymentType,customerPayment:{payment_source:paymentSource}});currentPaymentMethodRef?.current?.onsubmit&&[!options?.paypalPayerId,!options?.adyen?.MD,!options?.checkoutCom?.session_id].every(Boolean)?(isValid=await currentPaymentMethodRef.current?.onsubmit(paymentSource),!isValid&&paymentSource.payment_response?.resultCode==="Authorised"&&(isValid=!0)):card?.brand&&(isValid=!0);const placed=isValid&&setPlaceOrder&&(paymentSource||isFree)&&await setPlaceOrder({paymentSource});setForceDisable(!1),onClick&&placed&&onClick(placed)},disabledButton=disabled!==void 0?disabled:notPermitted,parentProps={...p,label,disabled:disabledButton,handleClick,ref};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("button",{ref,type:"button",disabled:disabledButton||forceDisable,onClick:()=>{handleClick()},...p,children:(0,isFunction_1.default)(label)?label():label})}exports.PlaceOrderButton=PlaceOrderButton,exports.default=PlaceOrderButton;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ interface Props {
3
+ children: JSX.Element | JSX.Element[];
4
+ }
5
+ export declare function Parcel({ children }: Props): JSX.Element;
6
+ export default Parcel;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Parcel=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),ParcelChildrenContext_1=tslib_1.__importDefault(require("../../context/ParcelChildrenContext")),ShipmentChildrenContext_1=tslib_1.__importDefault(require("../../context/ShipmentChildrenContext")),react_1=require("react");function Parcel({children}){const{parcels}=(0,react_1.useContext)(ShipmentChildrenContext_1.default),components=parcels?.map((parcel,key)=>(0,jsx_runtime_1.jsx)(ParcelChildrenContext_1.default.Provider,{value:{parcel},children},key))??null;return(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:components})}exports.Parcel=Parcel,exports.default=Parcel;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AdyenPayment=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),localStorage_1=require("../../utils/localStorage"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),browserInfo_1=tslib_1.__importDefault(require("../../utils/browserInfo")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),threeDSConfiguration={challengeWindowSize:"05"},defaultConfig={};function AdyenPayment({clientKey,config,templateCustomerSaveToWallet,environment="test",locale="en_US"}){const{cardContainerClassName,threeDSecureContainerClassName,styles}={...defaultConfig,...config},[loadAdyen,setLoadAdyen]=(0,react_1.useState)(!1),[checkout,setCheckout]=(0,react_1.useState)(null),{setPaymentSource,paymentSource,setPaymentMethodErrors,currentPaymentMethodType,setPaymentRef}=(0,react_1.useContext)(PaymentMethodContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),{placeOrderButtonRef}=(0,react_1.useContext)(PlaceOrderContext_1.default),ref=(0,react_1.useRef)(null),handleSubmit=async(e,component)=>{const savePaymentSourceToCustomerWallet=e?.elements?.save_payment_source_to_customer_wallet?.checked;return savePaymentSourceToCustomerWallet&&(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet),component&&component.submit&&component.submit(),!1},handleChange=async(state,checkout2)=>{if(state.isValid){ref.current&&(ref.current.onsubmit=()=>handleSubmit(ref.current,checkout2),setPaymentRef({ref}));const browserInfo=(0,browserInfo_1.default)(),attributes={payment_request_data:{payment_method:state.data.paymentMethod,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",origin:window.location.origin,return_url:window.location.href,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}}};paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes})}},handleOnAdditionalDetails=async(state,component)=>{const attributes={payment_request_details:state.data,_details:1};try{const pSource=paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes}),adyenAction=pSource?.payment_response?.action,resultCode=pSource?.payment_response?.resultCode;if(adyenAction&&component)return component.handleAction(adyenAction),!1;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef!==null&&placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled===!0&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current?.click()),!0;if(["Cancelled"].includes(resultCode)){const message=pSource?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}return!1}catch(error){return console.error("Adyen additional details error:",error),!1}},onSubmit=async(state,component)=>{if((await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments"}))?.payment_response?.resultCode==="Authorised")return!0;const attributes={payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:window.location.href},_authorize:1};delete attributes.payment_request_data.paymentMethod;try{const res=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}),action=res?.payment_response?.action;if(component&&action)return component.handleAction(action),!1;const resultCode=res?.payment_response?.resultCode;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef!==null&&placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled===!0&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current?.click()),!0;if(["Cancelled"].includes(resultCode)){const message=res?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}if(res?.payment_response?.errorType)if(res?.payment_response?.errorCode==="14_006")onSubmit(state,component);else{const message=res?.payment_response?.message;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}return!1}catch(error){return setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),!1}};return(0,react_1.useEffect)(()=>{const paymentMethodsResponse=paymentSource?.payment_methods?.paymentMethods?paymentSource?.payment_methods.paymentMethods:[],[firstPaymentMethod]=paymentMethodsResponse,isOnlyCard=paymentMethodsResponse?.length===1&&firstPaymentMethod.type==="scheme";paymentMethodsResponse.length===0&&console.error("Payment methods are not available. Please, check your Adyen configuration.");const options={locale,environment,clientKey,amount:{currency:order?.currency_code||"",value:order?.total_amount_with_taxes_cents||0},countryCode:order?.country_code||"",paymentMethodsResponse:{paymentMethods:paymentMethodsResponse},showPayButton:!1,paymentMethodsConfiguration:{threeDS2:threeDSConfiguration,paypal:{showPayButton:!0,style:styles?.paypal},card:{styles:styles?.card,holderNameRequired:!1}},onAdditionalDetails:handleOnAdditionalDetails,onChange:handleChange,onSubmit};return!ref&&clientKey&&(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet","false"),clientKey&&!loadAdyen&&window&&!checkout&&Promise.resolve().then(()=>tslib_1.__importStar(require("@adyen/adyen-web"))).then(({default:AdyenCheckout})=>{const type=isOnlyCard?"card":"dropin";AdyenCheckout(options).then(adyenCheckout=>{const component=adyenCheckout.create(type,{onSelect:component2=>{const id=component2._id;id.search("scheme")===-1&&ref.current&&(id.search("paypal")===-1?ref.current.onsubmit=()=>handleSubmit(ref.current,component2):ref.current.onsubmit=null,setPaymentRef({ref}))}}).mount("#adyen-dropin");component&&(setCheckout(component),setLoadAdyen(!0))})}),()=>{setPaymentRef({ref:{current:null}}),setLoadAdyen(!1)}},[clientKey,ref]),!clientKey&&!loadAdyen&&!checkout?null:(0,jsx_runtime_1.jsxs)("form",{ref,onSubmit:e=>handleSubmit(e,checkout),children:[(0,jsx_runtime_1.jsx)("div",{className:cardContainerClassName,id:"adyen-dropin"}),templateCustomerSaveToWallet&&(0,jsx_runtime_1.jsx)(Parent_1.default,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet}),(0,jsx_runtime_1.jsx)("div",{className:threeDSecureContainerClassName,id:"adyen-action"})]})}exports.AdyenPayment=AdyenPayment,exports.default=AdyenPayment;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AdyenPayment=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),localStorage_1=require("../../utils/localStorage"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),browserInfo_1=tslib_1.__importDefault(require("../../utils/browserInfo")),PlaceOrderContext_1=tslib_1.__importDefault(require("../../context/PlaceOrderContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),threeDSConfiguration={challengeWindowSize:"05"},defaultConfig={};function AdyenPayment({clientKey,config,templateCustomerSaveToWallet,environment="test",locale="en_US"}){const{cardContainerClassName,threeDSecureContainerClassName,styles}={...defaultConfig,...config},[loadAdyen,setLoadAdyen]=(0,react_1.useState)(!1),[checkout,setCheckout]=(0,react_1.useState)(null),{setPaymentSource,paymentSource,setPaymentMethodErrors,currentPaymentMethodType,setPaymentRef}=(0,react_1.useContext)(PaymentMethodContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),{placeOrderButtonRef}=(0,react_1.useContext)(PlaceOrderContext_1.default),ref=(0,react_1.useRef)(null),handleSubmit=async(e,component)=>{const savePaymentSourceToCustomerWallet=e?.elements?.save_payment_source_to_customer_wallet?.checked;return savePaymentSourceToCustomerWallet&&(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet",savePaymentSourceToCustomerWallet),component&&component.submit&&component.submit(),!1},handleChange=async(state,checkout2)=>{if(state.isValid){ref.current&&(ref.current.onsubmit=()=>handleSubmit(ref.current,checkout2),setPaymentRef({ref}));const browserInfo=(0,browserInfo_1.default)(),attributes={payment_request_data:{payment_method:state.data.paymentMethod,shopperInteraction:"Ecommerce",recurringProcessingModel:"CardOnFile",origin:window.location.origin,return_url:window.location.href,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}}};paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes})}},handleOnAdditionalDetails=async(state,component)=>{const attributes={payment_request_details:state.data,_details:1};try{const pSource=paymentSource&&await setPaymentSource({paymentSourceId:paymentSource.id,paymentResource:"adyen_payments",attributes}),adyenAction=pSource?.payment_response?.action,resultCode=pSource?.payment_response?.resultCode;if(adyenAction&&component)return component.handleAction(adyenAction),!1;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef!==null&&placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled===!0&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current?.click()),!0;if(["Cancelled"].includes(resultCode)){const message=pSource?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}return!1}catch(error){return console.error("Adyen additional details error:",error),!1}},onSubmit=async(state,component)=>{const browserInfo=(0,browserInfo_1.default)();let control=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments"});if(control?.payment_response?.resultCode==="Authorised")return!0;Object.keys(control?.payment_request_data).length>0===!1&&(control=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes:{payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:window.location.href,origin:window.location.origin,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}}}}));const attributes={payment_request_data:{...state.data,payment_method:state.data.paymentMethod,return_url:window.location.href,origin:window.location.origin,redirect_from_issuer_method:"GET",browser_info:{acceptHeader:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",...browserInfo}},_authorize:1};delete attributes.payment_request_data.paymentMethod;try{const res=await setPaymentSource({paymentSourceId:paymentSource?.id,paymentResource:"adyen_payments",attributes}),action=res?.payment_response?.action;if(component&&action)return component.handleAction(action),!1;const resultCode=res?.payment_response?.resultCode;if(["Authorised","Pending","Received"].includes(resultCode))return placeOrderButtonRef!==null&&placeOrderButtonRef?.current!=null&&(placeOrderButtonRef.current.disabled===!0&&(placeOrderButtonRef.current.disabled=!1),placeOrderButtonRef.current?.click()),!0;if(["Cancelled"].includes(resultCode)){const message=res?.payment_response?.refusalReason;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}if(res?.payment_response?.errorType)if(res?.payment_response?.errorCode==="14_006")onSubmit(state,component);else{const message=res?.payment_response?.message;setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message}])}return!1}catch(error){return setPaymentMethodErrors([{code:"PAYMENT_INTENT_AUTHENTICATION_FAILURE",resource:"payment_methods",field:currentPaymentMethodType,message:error.message}]),!1}};return(0,react_1.useEffect)(()=>{const paymentMethodsResponse=paymentSource?.payment_methods?.paymentMethods?paymentSource?.payment_methods.paymentMethods:[],[firstPaymentMethod]=paymentMethodsResponse,isOnlyCard=paymentMethodsResponse?.length===1&&firstPaymentMethod.type==="scheme";paymentMethodsResponse.length===0&&console.error("Payment methods are not available. Please, check your Adyen configuration.");const options={locale,environment,clientKey,amount:{currency:order?.currency_code||"",value:order?.total_amount_with_taxes_cents||0},countryCode:order?.country_code||"",paymentMethodsResponse:{paymentMethods:paymentMethodsResponse},showPayButton:!1,paymentMethodsConfiguration:{threeDS2:threeDSConfiguration,paypal:{showPayButton:!0,style:styles?.paypal},card:{styles:styles?.card,holderNameRequired:!1}},onAdditionalDetails:handleOnAdditionalDetails,onChange:handleChange,onSubmit};return!ref&&clientKey&&(0,localStorage_1.setCustomerOrderParam)("_save_payment_source_to_customer_wallet","false"),clientKey&&!loadAdyen&&window&&!checkout&&Promise.resolve().then(()=>tslib_1.__importStar(require("@adyen/adyen-web"))).then(({default:AdyenCheckout})=>{const type=isOnlyCard?"card":"dropin";AdyenCheckout(options).then(adyenCheckout=>{const component=adyenCheckout.create(type,{onSelect:component2=>{const id=component2._id;id.search("scheme")===-1&&ref.current&&(id.search("paypal")===-1?ref.current.onsubmit=()=>handleSubmit(ref.current,component2):ref.current.onsubmit=null,setPaymentRef({ref}))}}).mount("#adyen-dropin");component&&(setCheckout(component),setLoadAdyen(!0))})}),()=>{setPaymentRef({ref:{current:null}}),setLoadAdyen(!1)}},[clientKey,ref]),!clientKey&&!loadAdyen&&!checkout?null:(0,jsx_runtime_1.jsxs)("form",{ref,onSubmit:e=>handleSubmit(e,checkout),children:[(0,jsx_runtime_1.jsx)("div",{className:cardContainerClassName,id:"adyen-dropin"}),templateCustomerSaveToWallet&&(0,jsx_runtime_1.jsx)(Parent_1.default,{name:"save_payment_source_to_customer_wallet",children:templateCustomerSaveToWallet}),(0,jsx_runtime_1.jsx)("div",{className:threeDSecureContainerClassName,id:"adyen-action"})]})}exports.AdyenPayment=AdyenPayment,exports.default=AdyenPayment;
@@ -1,25 +1,15 @@
1
1
  /// <reference types="react" />
2
2
  import { IconBrand } from '../../context/PaymentSourceContext';
3
- import { FunctionChildren } from '../../typings/index';
4
- declare type CustomComponent = FunctionChildren<Omit<Props & {
3
+ import { ChildrenFunction } from '../../typings/index';
4
+ interface ChildrenProps extends Omit<Props, 'children'> {
5
5
  brand: IconBrand;
6
6
  defaultSrc: string;
7
7
  url: string;
8
- }, 'children'>>;
8
+ }
9
9
  declare type Props = {
10
- children?: CustomComponent;
10
+ children?: ChildrenFunction<ChildrenProps>;
11
11
  width?: number;
12
12
  height?: number;
13
13
  } & JSX.IntrinsicElements['img'];
14
14
  export declare function PaymentSourceBrandIcon({ src, width, children, ...p }: Props): JSX.Element;
15
- export declare namespace PaymentSourceBrandIcon {
16
- var propTypes: {
17
- children: import("prop-types").Requireable<(...args: any[]) => any>;
18
- width: import("prop-types").Requireable<number>;
19
- height: import("prop-types").Requireable<number>;
20
- src: import("prop-types").Requireable<string>;
21
- className: import("prop-types").Requireable<string>;
22
- };
23
- var displayName: string;
24
- }
25
15
  export default PaymentSourceBrandIcon;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentSourceBrandIcon=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PaymentSourceContext_1=tslib_1.__importDefault(require("../../context/PaymentSourceContext")),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.PaymentSourceBrandIcon.propTypes,displayName=components_1.default.PaymentSourceBrandIcon.displayName;function PaymentSourceBrandIcon({src,width=32,children,...p}){const{brand}=(0,react_1.useContext)(PaymentSourceContext_1.default),ref=(0,react_1.useRef)(null),defaultSrc="//data.commercelayer.app/assets/images/icons/credit-cards/color/credit-card.svg",url=src||`//data.commercelayer.app/assets/images/icons/credit-cards/color/${brand}.svg`,handleError=()=>{ref.current&&(ref.current.src=defaultSrc)},parentProps={brand,defaultSrc,url,width,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("img",{ref,src:url,onError:handleError,width,...p})}exports.PaymentSourceBrandIcon=PaymentSourceBrandIcon,PaymentSourceBrandIcon.propTypes=propTypes,PaymentSourceBrandIcon.displayName=displayName,exports.default=PaymentSourceBrandIcon;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentSourceBrandIcon=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PaymentSourceContext_1=tslib_1.__importDefault(require("../../context/PaymentSourceContext")),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent"));function PaymentSourceBrandIcon({src,width=32,children,...p}){const{brand}=(0,react_1.useContext)(PaymentSourceContext_1.default),ref=(0,react_1.useRef)(null),defaultSrc="//data.commercelayer.app/assets/images/icons/credit-cards/color/credit-card.svg",url=src||`//data.commercelayer.app/assets/images/icons/credit-cards/color/${brand??"credit-card"}.svg`,handleError=()=>{ref.current&&(ref.current.src=defaultSrc)},parentProps={brand,defaultSrc,url,width,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("img",{ref,src:url,onError:handleError,width,...p})}exports.PaymentSourceBrandIcon=PaymentSourceBrandIcon,exports.default=PaymentSourceBrandIcon;
@@ -1,19 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import { IconBrand } from '../../context/PaymentSourceContext';
3
- import { FunctionChildren } from '../../typings/index';
4
- declare type CustomComponent = FunctionChildren<Omit<Props & {
3
+ import { ChildrenFunction } from '../../typings/index';
4
+ interface CustomComponent extends Omit<Props, 'children'> {
5
5
  brand: IconBrand;
6
- }, 'children'>>;
6
+ }
7
7
  declare type Props = {
8
- children?: CustomComponent;
8
+ children?: ChildrenFunction<CustomComponent>;
9
9
  label?: string;
10
10
  } & JSX.IntrinsicElements['span'];
11
11
  export declare function PaymentSourceBrandName({ children, label, ...props }: Props): JSX.Element;
12
- export declare namespace PaymentSourceBrandName {
13
- var propTypes: {
14
- children: import("prop-types").Requireable<(...args: any[]) => any>;
15
- label: import("prop-types").Requireable<string>;
16
- };
17
- var displayName: string;
18
- }
19
12
  export default PaymentSourceBrandName;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentSourceBrandName=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PaymentSourceContext_1=tslib_1.__importDefault(require("../../context/PaymentSourceContext")),lodash_1=require("lodash"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.PaymentSourceBrandName.propTypes,displayName=components_1.default.PaymentSourceBrandName.displayName;function PaymentSourceBrandName({children,label,...props}){const{brand}=(0,react_1.useContext)(PaymentSourceContext_1.default),brandName=brand&&(0,lodash_1.capitalize)(brand.replace("-"," ")),parentProps={brand:brandName,label,...props};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("span",{...props,children:label||(0,lodash_1.capitalize)(brandName)})}exports.PaymentSourceBrandName=PaymentSourceBrandName,PaymentSourceBrandName.propTypes=propTypes,PaymentSourceBrandName.displayName=displayName,exports.default=PaymentSourceBrandName;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentSourceBrandName=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PaymentSourceContext_1=tslib_1.__importDefault(require("../../context/PaymentSourceContext")),lodash_1=require("lodash"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent"));function PaymentSourceBrandName({children,label,...props}){const{brand}=(0,react_1.useContext)(PaymentSourceContext_1.default),brandName=brand&&(0,lodash_1.capitalize)(brand.replace("-"," ")),parentProps={brand:brandName,label,...props};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("span",{...props,children:label||(0,lodash_1.capitalize)(brandName)})}exports.PaymentSourceBrandName=PaymentSourceBrandName,exports.default=PaymentSourceBrandName;
@@ -1,18 +1,12 @@
1
1
  /// <reference types="react" />
2
- import { FunctionChildren } from '../../typings/index';
2
+ import { ChildrenFunction } from '../../typings/index';
3
3
  export declare type PaymentSourceDetailType = 'last4' | 'exp_year' | 'exp_month';
4
- declare type CustomComponent = FunctionChildren<Omit<Props & {
4
+ interface ChildrenProps extends Omit<Props, 'children'> {
5
5
  text: string;
6
- }, 'children'>>;
7
- declare type Props = {
8
- children?: CustomComponent;
6
+ }
7
+ interface Props extends Omit<JSX.IntrinsicElements['span'], 'children'> {
8
+ children?: ChildrenFunction<ChildrenProps>;
9
9
  type: PaymentSourceDetailType;
10
- } & JSX.IntrinsicElements['span'];
11
- export declare function PaymentSourceDetail({ type, children, ...p }: Props): JSX.Element;
12
- export declare namespace PaymentSourceDetail {
13
- var propTypes: {
14
- type: import("prop-types").Validator<NonNullable<PaymentSourceDetailType>>;
15
- };
16
- var displayName: string;
17
10
  }
11
+ export declare function PaymentSourceDetail({ type, children, ...p }: Props): JSX.Element;
18
12
  export default PaymentSourceDetail;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentSourceDetail=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),components_1=tslib_1.__importDefault(require("../../config/components")),PaymentSourceContext_1=tslib_1.__importDefault(require("../../context/PaymentSourceContext")),lodash_1=require("lodash"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),propTypes=components_1.default.PaymentSourceDetail.propTypes,displayName=components_1.default.PaymentSourceDetail.displayName;function PaymentSourceDetail({type,children,...p}){const card=(0,react_1.useContext)(PaymentSourceContext_1.default),text=(0,lodash_1.has)(card,type)?card[type]:type==="last4"?"****":"**",parentProps={type,text,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("span",{...p,children:text})}exports.PaymentSourceDetail=PaymentSourceDetail,PaymentSourceDetail.propTypes=propTypes,PaymentSourceDetail.displayName=displayName,exports.default=PaymentSourceDetail;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentSourceDetail=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),PaymentSourceContext_1=tslib_1.__importDefault(require("../../context/PaymentSourceContext")),lodash_1=require("lodash"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent"));function PaymentSourceDetail({type,children,...p}){const card=(0,react_1.useContext)(PaymentSourceContext_1.default),text=(0,lodash_1.has)(card,type)?card[type]:type==="last4"?"****":"**",parentProps={type,text,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)("span",{...p,children:text})}exports.PaymentSourceDetail=PaymentSourceDetail,exports.default=PaymentSourceDetail;