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

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 (195) 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/AddressInput.d.ts +0 -11
  4. package/lib/cjs/components/addresses/AddressInput.js +1 -1
  5. package/lib/cjs/components/addresses/SaveAddressesButton.d.ts +4 -3
  6. package/lib/cjs/components/addresses/SaveAddressesButton.js +1 -1
  7. package/lib/cjs/components/auth/CommerceLayer.d.ts +2 -9
  8. package/lib/cjs/components/auth/CommerceLayer.js +1 -1
  9. package/lib/cjs/components/customers/SaveCustomerButton.d.ts +6 -7
  10. package/lib/cjs/components/customers/SaveCustomerButton.js +1 -1
  11. package/lib/cjs/components/gift_cards/GiftCardOrCouponCode.d.ts +8 -16
  12. package/lib/cjs/components/gift_cards/GiftCardOrCouponCode.js +1 -1
  13. package/lib/cjs/components/gift_cards/GiftCardOrCouponRemoveButton.d.ts +4 -12
  14. package/lib/cjs/components/gift_cards/GiftCardOrCouponRemoveButton.js +1 -1
  15. package/lib/cjs/components/gift_cards/GiftCardOrCouponSubmit.d.ts +6 -12
  16. package/lib/cjs/components/gift_cards/GiftCardOrCouponSubmit.js +1 -1
  17. package/lib/cjs/components/line_items/LineItemOption.d.ts +2 -2
  18. package/lib/cjs/components/line_items/LineItemQuantity.d.ts +4 -16
  19. package/lib/cjs/components/line_items/LineItemQuantity.js +1 -1
  20. package/lib/cjs/components/line_items/LineItemRemoveLink.d.ts +6 -16
  21. package/lib/cjs/components/line_items/LineItemRemoveLink.js +1 -1
  22. package/lib/cjs/components/line_items/LineItemsCount.d.ts +4 -14
  23. package/lib/cjs/components/line_items/LineItemsCount.js +1 -1
  24. package/lib/cjs/components/line_items/LineItemsEmpty.d.ts +6 -17
  25. package/lib/cjs/components/line_items/LineItemsEmpty.js +1 -1
  26. package/lib/cjs/components/orders/AddToCartButton.d.ts +4 -5
  27. package/lib/cjs/components/orders/AddToCartButton.js +1 -1
  28. package/lib/cjs/components/orders/CartLink.d.ts +6 -6
  29. package/lib/cjs/components/orders/CartLink.js +1 -1
  30. package/lib/cjs/components/orders/CheckoutLink.d.ts +4 -4
  31. package/lib/cjs/components/orders/CheckoutLink.js +1 -1
  32. package/lib/cjs/components/orders/ItemContainer.d.ts +2 -13
  33. package/lib/cjs/components/orders/ItemContainer.js +1 -1
  34. package/lib/cjs/components/orders/OrderList.d.ts +10 -11
  35. package/lib/cjs/components/orders/OrderList.js +1 -1
  36. package/lib/cjs/components/orders/OrderListEmpty.d.ts +14 -0
  37. package/lib/cjs/components/orders/OrderListEmpty.js +1 -0
  38. package/lib/cjs/components/orders/OrderListRow.d.ts +1 -1
  39. package/lib/cjs/components/orders/PlaceOrderButton.d.ts +4 -14
  40. package/lib/cjs/components/orders/PlaceOrderButton.js +1 -1
  41. package/lib/cjs/components/parcels/Parcel.d.ts +6 -0
  42. package/lib/cjs/components/parcels/Parcel.js +1 -0
  43. package/lib/cjs/components/payment_source/AdyenPayment.js +1 -1
  44. package/lib/cjs/components/payment_source/PaymentSourceBrandIcon.d.ts +4 -14
  45. package/lib/cjs/components/payment_source/PaymentSourceBrandIcon.js +1 -1
  46. package/lib/cjs/components/payment_source/PaymentSourceBrandName.d.ts +4 -11
  47. package/lib/cjs/components/payment_source/PaymentSourceBrandName.js +1 -1
  48. package/lib/cjs/components/payment_source/PaymentSourceDetail.d.ts +6 -12
  49. package/lib/cjs/components/payment_source/PaymentSourceDetail.js +1 -1
  50. package/lib/cjs/components/payment_source/PaymentSourceEditButton.d.ts +4 -10
  51. package/lib/cjs/components/payment_source/PaymentSourceEditButton.js +1 -1
  52. package/lib/cjs/components/prices/Price.d.ts +6 -18
  53. package/lib/cjs/components/prices/Price.js +1 -1
  54. package/lib/cjs/components/prices/PricesContainer.d.ts +4 -20
  55. package/lib/cjs/components/prices/PricesContainer.js +1 -1
  56. package/lib/cjs/components/shipments/Shipment.d.ts +2 -8
  57. package/lib/cjs/components/shipments/Shipment.js +1 -1
  58. package/lib/cjs/components/shipments/ShipmentField.d.ts +0 -7
  59. package/lib/cjs/components/shipments/ShipmentField.js +1 -1
  60. package/lib/cjs/components/shipments/ShipmentsContainer.d.ts +2 -8
  61. package/lib/cjs/components/shipments/ShipmentsContainer.js +1 -1
  62. package/lib/cjs/components/shipping_methods/ShippingMethod.d.ts +2 -9
  63. package/lib/cjs/components/shipping_methods/ShippingMethod.js +1 -1
  64. package/lib/cjs/components/shipping_methods/ShippingMethodName.d.ts +0 -6
  65. package/lib/cjs/components/shipping_methods/ShippingMethodName.js +1 -1
  66. package/lib/cjs/components/skus/AvailabilityTemplate.d.ts +4 -13
  67. package/lib/cjs/components/skus/AvailabilityTemplate.js +1 -1
  68. package/lib/cjs/components/skus/QuantitySelector.d.ts +4 -18
  69. package/lib/cjs/components/skus/QuantitySelector.js +1 -1
  70. package/lib/cjs/components/skus/VariantSelector.d.ts +4 -27
  71. package/lib/cjs/components/skus/VariantSelector.js +1 -1
  72. package/lib/cjs/components/utils/AddressCardsTemplate.d.ts +2 -2
  73. package/lib/cjs/components/utils/BaseInput.d.ts +1 -1
  74. package/lib/cjs/components/utils/ErrorBoundary.d.ts +14 -0
  75. package/lib/cjs/components/utils/ErrorBoundary.js +1 -0
  76. package/lib/cjs/components/utils/PaymentCardsTemplate.d.ts +2 -2
  77. package/lib/cjs/components/utils/PriceTemplate.d.ts +2 -2
  78. package/lib/cjs/components/utils/PriceTemplate.js +1 -1
  79. package/lib/cjs/context/BillingAddressFormContext.d.ts +2 -2
  80. package/lib/cjs/context/OrderListChildrenContext.d.ts +8 -0
  81. package/lib/cjs/context/ParcelChildrenContext.d.ts +7 -0
  82. package/lib/cjs/context/ParcelChildrenContext.js +1 -0
  83. package/lib/cjs/context/ShipmentChildrenContext.d.ts +6 -5
  84. package/lib/cjs/context/ShipmentChildrenContext.js +1 -1
  85. package/lib/cjs/index.d.ts +35 -34
  86. package/lib/cjs/index.js +1 -1
  87. package/lib/cjs/reducers/CustomerReducer.d.ts +16 -18
  88. package/lib/cjs/reducers/CustomerReducer.js +1 -1
  89. package/lib/cjs/reducers/OrderReducer.d.ts +14 -24
  90. package/lib/cjs/reducers/ShipmentReducer.d.ts +1 -3
  91. package/lib/cjs/typings/errors.d.ts +2 -2
  92. package/lib/cjs/typings/index.d.ts +8 -16
  93. package/lib/cjs/utils/getPrices.d.ts +4 -15
  94. package/lib/cjs/utils/getPrices.js +1 -1
  95. package/lib/cjs/utils/getSdk.d.ts +1 -1
  96. package/lib/cjs/utils/organization.d.ts +2 -2
  97. package/lib/esm/components/SubmitButton.d.ts +6 -15
  98. package/lib/esm/components/SubmitButton.js +1 -1
  99. package/lib/esm/components/addresses/AddressInput.d.ts +0 -11
  100. package/lib/esm/components/addresses/AddressInput.js +1 -1
  101. package/lib/esm/components/addresses/SaveAddressesButton.d.ts +4 -3
  102. package/lib/esm/components/addresses/SaveAddressesButton.js +1 -1
  103. package/lib/esm/components/auth/CommerceLayer.d.ts +2 -9
  104. package/lib/esm/components/auth/CommerceLayer.js +1 -1
  105. package/lib/esm/components/customers/SaveCustomerButton.d.ts +6 -7
  106. package/lib/esm/components/customers/SaveCustomerButton.js +1 -1
  107. package/lib/esm/components/gift_cards/GiftCardOrCouponCode.d.ts +8 -16
  108. package/lib/esm/components/gift_cards/GiftCardOrCouponCode.js +1 -1
  109. package/lib/esm/components/gift_cards/GiftCardOrCouponRemoveButton.d.ts +4 -12
  110. package/lib/esm/components/gift_cards/GiftCardOrCouponRemoveButton.js +1 -1
  111. package/lib/esm/components/gift_cards/GiftCardOrCouponSubmit.d.ts +6 -12
  112. package/lib/esm/components/gift_cards/GiftCardOrCouponSubmit.js +1 -1
  113. package/lib/esm/components/line_items/LineItemOption.d.ts +2 -2
  114. package/lib/esm/components/line_items/LineItemQuantity.d.ts +4 -16
  115. package/lib/esm/components/line_items/LineItemQuantity.js +1 -1
  116. package/lib/esm/components/line_items/LineItemRemoveLink.d.ts +6 -16
  117. package/lib/esm/components/line_items/LineItemRemoveLink.js +1 -1
  118. package/lib/esm/components/line_items/LineItemsCount.d.ts +4 -14
  119. package/lib/esm/components/line_items/LineItemsCount.js +1 -1
  120. package/lib/esm/components/line_items/LineItemsEmpty.d.ts +6 -17
  121. package/lib/esm/components/line_items/LineItemsEmpty.js +1 -1
  122. package/lib/esm/components/orders/AddToCartButton.d.ts +4 -5
  123. package/lib/esm/components/orders/AddToCartButton.js +1 -1
  124. package/lib/esm/components/orders/CartLink.d.ts +6 -6
  125. package/lib/esm/components/orders/CartLink.js +1 -1
  126. package/lib/esm/components/orders/CheckoutLink.d.ts +4 -4
  127. package/lib/esm/components/orders/CheckoutLink.js +1 -1
  128. package/lib/esm/components/orders/ItemContainer.d.ts +2 -13
  129. package/lib/esm/components/orders/ItemContainer.js +1 -1
  130. package/lib/esm/components/orders/OrderList.d.ts +10 -11
  131. package/lib/esm/components/orders/OrderList.js +1 -1
  132. package/lib/esm/components/orders/OrderListEmpty.d.ts +14 -0
  133. package/lib/esm/components/orders/OrderListEmpty.js +1 -0
  134. package/lib/esm/components/orders/OrderListRow.d.ts +1 -1
  135. package/lib/esm/components/orders/PlaceOrderButton.d.ts +4 -14
  136. package/lib/esm/components/orders/PlaceOrderButton.js +1 -1
  137. package/lib/esm/components/parcels/Parcel.d.ts +6 -0
  138. package/lib/esm/components/parcels/Parcel.js +1 -0
  139. package/lib/esm/components/payment_source/AdyenPayment.js +1 -1
  140. package/lib/esm/components/payment_source/PaymentSourceBrandIcon.d.ts +4 -14
  141. package/lib/esm/components/payment_source/PaymentSourceBrandIcon.js +1 -1
  142. package/lib/esm/components/payment_source/PaymentSourceBrandName.d.ts +4 -11
  143. package/lib/esm/components/payment_source/PaymentSourceBrandName.js +1 -1
  144. package/lib/esm/components/payment_source/PaymentSourceDetail.d.ts +6 -12
  145. package/lib/esm/components/payment_source/PaymentSourceDetail.js +1 -1
  146. package/lib/esm/components/payment_source/PaymentSourceEditButton.d.ts +4 -10
  147. package/lib/esm/components/payment_source/PaymentSourceEditButton.js +1 -1
  148. package/lib/esm/components/prices/Price.d.ts +6 -18
  149. package/lib/esm/components/prices/Price.js +1 -1
  150. package/lib/esm/components/prices/PricesContainer.d.ts +4 -20
  151. package/lib/esm/components/prices/PricesContainer.js +1 -1
  152. package/lib/esm/components/shipments/Shipment.d.ts +2 -8
  153. package/lib/esm/components/shipments/Shipment.js +1 -1
  154. package/lib/esm/components/shipments/ShipmentField.d.ts +0 -7
  155. package/lib/esm/components/shipments/ShipmentField.js +1 -1
  156. package/lib/esm/components/shipments/ShipmentsContainer.d.ts +2 -8
  157. package/lib/esm/components/shipments/ShipmentsContainer.js +1 -1
  158. package/lib/esm/components/shipping_methods/ShippingMethod.d.ts +2 -9
  159. package/lib/esm/components/shipping_methods/ShippingMethod.js +1 -1
  160. package/lib/esm/components/shipping_methods/ShippingMethodName.d.ts +0 -6
  161. package/lib/esm/components/shipping_methods/ShippingMethodName.js +1 -1
  162. package/lib/esm/components/skus/AvailabilityTemplate.d.ts +4 -13
  163. package/lib/esm/components/skus/AvailabilityTemplate.js +1 -1
  164. package/lib/esm/components/skus/QuantitySelector.d.ts +4 -18
  165. package/lib/esm/components/skus/QuantitySelector.js +1 -1
  166. package/lib/esm/components/skus/VariantSelector.d.ts +4 -27
  167. package/lib/esm/components/skus/VariantSelector.js +1 -1
  168. package/lib/esm/components/utils/AddressCardsTemplate.d.ts +2 -2
  169. package/lib/esm/components/utils/BaseInput.d.ts +1 -1
  170. package/lib/esm/components/utils/ErrorBoundary.d.ts +14 -0
  171. package/lib/esm/components/utils/ErrorBoundary.js +1 -0
  172. package/lib/esm/components/utils/PaymentCardsTemplate.d.ts +2 -2
  173. package/lib/esm/components/utils/PriceTemplate.d.ts +2 -2
  174. package/lib/esm/components/utils/PriceTemplate.js +1 -1
  175. package/lib/esm/context/BillingAddressFormContext.d.ts +2 -2
  176. package/lib/esm/context/OrderListChildrenContext.d.ts +8 -0
  177. package/lib/esm/context/ParcelChildrenContext.d.ts +7 -0
  178. package/lib/esm/context/ParcelChildrenContext.js +1 -0
  179. package/lib/esm/context/ShipmentChildrenContext.d.ts +6 -5
  180. package/lib/esm/context/ShipmentChildrenContext.js +1 -1
  181. package/lib/esm/index.d.ts +35 -34
  182. package/lib/esm/index.js +1 -1
  183. package/lib/esm/reducers/CustomerReducer.d.ts +16 -18
  184. package/lib/esm/reducers/CustomerReducer.js +1 -1
  185. package/lib/esm/reducers/OrderReducer.d.ts +14 -24
  186. package/lib/esm/reducers/ShipmentReducer.d.ts +1 -3
  187. package/lib/esm/typings/errors.d.ts +2 -2
  188. package/lib/esm/typings/index.d.ts +8 -16
  189. package/lib/esm/utils/getPrices.d.ts +4 -15
  190. package/lib/esm/utils/getPrices.js +1 -1
  191. package/lib/esm/utils/getSdk.d.ts +1 -1
  192. package/lib/esm/utils/organization.d.ts +2 -2
  193. package/lib/tsconfig.prod.esm.tsbuildinfo +1 -1
  194. package/lib/tsconfig.prod.tsbuildinfo +1 -1
  195. package/package.json +46 -35
@@ -1,18 +1,23 @@
1
- import { ReactNode, ReactElement } from 'react';
1
+ import { ReactNode } from '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
12
  children: ReactNode;
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)=>(0,react_1.createElement)(ThHtmlElement,{className:column?.className,...column.getHeaderProps(column?.getSortByToggleProps&&column?.getSortByToggleProps()),key:k},(0,jsx_runtime_1.jsxs)("span",{"data-testid":`thead-${k}`,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<Props>;
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;
@@ -25,6 +25,6 @@ declare type Props = {
25
25
  * The order field to show
26
26
  */
27
27
  field: keyof Order;
28
- } & JSX.IntrinsicElements['td'];
28
+ } & Omit<JSX.IntrinsicElements['td'], 'children'>;
29
29
  export declare function OrderListRow({ field, children, ...p }: Props): JSX.Element;
30
30
  export 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;
@@ -1,16 +1,10 @@
1
1
  import { ReactNode } from 'react';
2
- import { FunctionChildren } from '../../typings/index';
3
- declare type CustomComponent = FunctionChildren<Omit<Props, 'children'>>;
2
+ import { ChildrenFunction } from '../../typings/index';
3
+ interface CustomComponent extends Omit<Props, 'children'> {
4
+ }
4
5
  declare type Props = {
5
- children?: CustomComponent;
6
+ children?: ChildrenFunction<CustomComponent>;
6
7
  label?: string | ReactNode;
7
8
  } & Omit<JSX.IntrinsicElements['button'], 'onClick'>;
8
9
  export declare function PaymentSourceEditButton({ children, label, ...props }: Props): JSX.Element | null;
9
- export declare namespace PaymentSourceEditButton {
10
- var propTypes: {
11
- children: import("prop-types").Requireable<(...args: any[]) => any>;
12
- label: import("prop-types").Requireable<NonNullable<string | import("prop-types").ReactElementLike | null | undefined>>;
13
- };
14
- var displayName: string;
15
- }
16
10
  export default PaymentSourceEditButton;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentSourceEditButton=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")),displayName=components_1.default.PaymentSourceEditButton.displayName,propTypes=components_1.default.PaymentSourceEditButton.propTypes;function PaymentSourceEditButton({children,label="Edit",...props}){const{showCard,handleEditClick,readonly}=(0,react_1.useContext)(PaymentSourceContext_1.default),parentProps={showCard,label,handleEditClick,...props};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):readonly?null:(0,jsx_runtime_1.jsx)("button",{...props,onClick:handleEditClick,children:label})}exports.PaymentSourceEditButton=PaymentSourceEditButton,PaymentSourceEditButton.propTypes=propTypes,PaymentSourceEditButton.displayName=displayName,exports.default=PaymentSourceEditButton;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymentSourceEditButton=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 PaymentSourceEditButton({children,label="Edit",...props}){const{showCard,handleEditClick,readonly}=(0,react_1.useContext)(PaymentSourceContext_1.default),parentProps={showCard,label,handleEditClick,...props};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):readonly?null:(0,jsx_runtime_1.jsx)("button",{...props,onClick:handleEditClick,children:label})}exports.PaymentSourceEditButton=PaymentSourceEditButton,exports.default=PaymentSourceEditButton;
@@ -1,28 +1,16 @@
1
1
  /// <reference types="react" />
2
2
  import { Price as PriceType } from '@commercelayer/sdk';
3
- import { FunctionChildren, LoaderType } from '../../typings/index';
4
- declare type PriceChildrenProps = FunctionChildren<{
3
+ import { ChildrenFunction, LoaderType } from '../../typings/index';
4
+ interface PriceChildrenProps extends Omit<PriceProps, 'children'> {
5
5
  loading: boolean;
6
6
  loader: LoaderType;
7
7
  prices: PriceType[];
8
- } & Omit<PriceProps, 'children'>>;
9
- export declare type PriceProps = Partial<JSX.IntrinsicElements['span']> & {
10
- children?: PriceChildrenProps;
8
+ }
9
+ export interface PriceProps extends Omit<JSX.IntrinsicElements['span'], 'children'> {
10
+ children?: ChildrenFunction<PriceChildrenProps>;
11
11
  compareClassName?: string;
12
12
  showCompare?: boolean;
13
13
  skuCode?: string;
14
- };
15
- export declare function Price(props: PriceProps): JSX.Element;
16
- export declare namespace Price {
17
- var propTypes: {
18
- children: import("prop-types").Requireable<(...args: any[]) => any>;
19
- compareClassName: import("prop-types").Requireable<string>;
20
- skuCode: import("prop-types").Requireable<string>;
21
- showCompare: import("prop-types").Requireable<boolean>;
22
- };
23
- var defaultProps: {
24
- skuCode: string;
25
- };
26
- var displayName: string;
27
14
  }
15
+ export declare function Price(props: PriceProps): JSX.Element;
28
16
  export default Price;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Price=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),lodash_1=require("lodash"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),PricesContext_1=tslib_1.__importDefault(require("../../context/PricesContext")),getPrices_1=require("../../utils/getPrices"),components_1=tslib_1.__importDefault(require("../../config/components")),SkuChildrenContext_1=tslib_1.__importDefault(require("../../context/SkuChildrenContext")),propTypes=components_1.default.Price.propTypes,defaultProps=components_1.default.Price.defaultProps,displayName=components_1.default.Price.displayName;function Price(props){const{children,skuCode=""}=props,{prices,skuCode:pricesSkuCode,loading,skuCodes,setSkuCodes,loader}=(0,react_1.useContext)(PricesContext_1.default),{sku}=(0,react_1.useContext)(SkuChildrenContext_1.default),[skuPrices,setSkuPrices]=(0,react_1.useState)([]),sCode=pricesSkuCode||skuCode||sku?.code;(0,react_1.useEffect)(()=>(!(0,lodash_1.isEmpty)(prices)&&(0,lodash_1.has)(prices,`${sCode}`)?setSkuPrices(prices[sCode]):sCode&&(0,lodash_1.indexOf)(skuCodes,sCode)===-1&&(skuCodes.push(sCode),setSkuCodes&&setSkuCodes(skuCodes)),()=>{setSkuPrices([])}),[prices,sCode]);const parentProps={loading,loader,prices:skuPrices,...props},pricesComponent=(0,lodash_1.isEmpty)(prices)||(0,lodash_1.isEmpty)(skuPrices)?null:(0,getPrices_1.getPricesComponent)(skuPrices,props);return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)(react_1.Fragment,{children:loading||(0,lodash_1.isEmpty)(pricesComponent)?loader:pricesComponent})}exports.Price=Price,Price.propTypes=propTypes,Price.defaultProps=defaultProps,Price.displayName=displayName,exports.default=Price;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Price=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),PricesContext_1=tslib_1.__importDefault(require("../../context/PricesContext")),react_1=require("react"),lodash_1=require("lodash"),getPrices_1=require("../../utils/getPrices"),SkuChildrenContext_1=tslib_1.__importDefault(require("../../context/SkuChildrenContext"));function Price(props){const{children,skuCode=""}=props,{prices,skuCode:pricesSkuCode,loading,skuCodes,setSkuCodes,loader}=(0,react_1.useContext)(PricesContext_1.default),{sku}=(0,react_1.useContext)(SkuChildrenContext_1.default),[skuPrices,setSkuPrices]=(0,react_1.useState)([]),sCode=pricesSkuCode||skuCode||sku?.code;(0,react_1.useEffect)(()=>(!(0,lodash_1.isEmpty)(prices)&&(0,lodash_1.has)(prices,`${sCode}`)?setSkuPrices(prices[sCode]):sCode&&(0,lodash_1.indexOf)(skuCodes,sCode)===-1&&(skuCodes.push(sCode),setSkuCodes&&setSkuCodes(skuCodes)),()=>{setSkuPrices([])}),[prices,sCode]);const parentProps={loading,loader,prices:skuPrices,...props},pricesComponent=(0,lodash_1.isEmpty)(prices)||(0,lodash_1.isEmpty)(skuPrices)?null:(0,getPrices_1.getPricesComponent)(skuPrices,props);return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:loading||(0,lodash_1.isEmpty)(pricesComponent)?loader:pricesComponent})}exports.Price=Price,exports.default=Price;
@@ -1,27 +1,11 @@
1
- import { ReactNode } from 'react';
1
+ /// <reference types="react" />
2
2
  import { LoaderType } from '../../typings/index';
3
- declare type Props = {
4
- children: ReactNode;
3
+ interface Props {
4
+ children: JSX.Element | JSX.Element[];
5
5
  filters?: object;
6
6
  loader?: LoaderType;
7
7
  perPage?: number;
8
8
  skuCode?: string;
9
- };
10
- export declare function PricesContainer(props: Props): JSX.Element;
11
- export declare namespace PricesContainer {
12
- var propTypes: {
13
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
14
- skuCode: import("prop-types").Requireable<string>;
15
- loader: import("prop-types").Requireable<NonNullable<string | import("prop-types").ReactElementLike | null | undefined>>;
16
- perPage: import("prop-types").Requireable<number>;
17
- filters: import("prop-types").Requireable<object>;
18
- };
19
- var defaultProps: {
20
- perPage: number;
21
- filters: {};
22
- loader: string;
23
- skuCode: string;
24
- };
25
- var displayName: string;
26
9
  }
10
+ export declare function PricesContainer(props: Props): JSX.Element;
27
11
  export default PricesContainer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PricesContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),getPrices_1=tslib_1.__importDefault(require("../../utils/getPrices")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),has_1=tslib_1.__importDefault(require("lodash/has")),indexOf_1=tslib_1.__importDefault(require("lodash/indexOf")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),PriceReducer_1=tslib_1.__importStar(require("../../reducers/PriceReducer")),PriceReducer_2=require("../../reducers/PriceReducer"),PricesContext_1=tslib_1.__importDefault(require("../../context/PricesContext")),getCurrentItemKey_1=tslib_1.__importDefault(require("../../utils/getCurrentItemKey")),ItemContext_1=tslib_1.__importDefault(require("../../context/ItemContext")),components_1=tslib_1.__importDefault(require("../../config/components")),SkuContext_1=tslib_1.__importDefault(require("../../context/SkuContext")),propTypes=components_1.default.PricesContainer.propTypes,defaultProps=components_1.default.PricesContainer.defaultProps,displayName=components_1.default.PricesContainer.displayName;function PricesContainer(props){const{children,skuCode="",loader="Loading...",perPage=10,filters={}}=props,[state,dispatch]=(0,react_1.useReducer)(PriceReducer_1.default,PriceReducer_2.priceInitialState),config=(0,react_1.useContext)(CommerceLayerContext_1.default),{skuCodes}=(0,react_1.useContext)(SkuContext_1.default),{setPrices,prices,items,item:currentItem,skuCode:itemSkuCode}=(0,react_1.useContext)(ItemContext_1.default);(0,indexOf_1.default)(state.skuCodes,skuCode)===-1&&skuCode&&state.skuCodes.push(skuCode);const sCode=skuCodes&&skuCodes?.length>0?"":skuCode||(0,getCurrentItemKey_1.default)(currentItem)||itemSkuCode||"",setSkuCodes=skuCodes2=>{dispatch({type:"setSkuCodes",payload:{skuCodes:skuCodes2}})};(0,react_1.useEffect)(()=>{if(state.skuCodes.length===0&&skuCodes&&skuCodes.length>0&&setSkuCodes(skuCodes),currentItem&&(0,has_1.default)(prices,sCode)&&dispatch({type:"setPrices",payload:{prices}}),!(0,isEmpty_1.default)(items)&&(0,isEmpty_1.default)(currentItem)){const p=(0,getPrices_1.default)(items);dispatch({type:"setPrices",payload:{prices:p}})}return config.accessToken&&!(0,has_1.default)(prices,itemSkuCode||sCode)&&(state.skuCodes.length>0||itemSkuCode||sCode)&&(0,PriceReducer_2.getSkusPrice)(sCode&&[itemSkuCode||sCode]||state.skuCodes,{config,dispatch,setPrices,prices,perPage,filters}),config.accessToken&&(0,isEmpty_1.default)(currentItem)&&(state.skuCodes.length>0||skuCode)&&(0,PriceReducer_2.getSkusPrice)(sCode&&[sCode]||state.skuCodes,{config,dispatch,setPrices,prices,perPage,filters}),()=>{(0,isEmpty_1.default)(currentItem)&&(0,PriceReducer_1.unsetPriceState)(dispatch)}},[config.accessToken,currentItem,sCode,state.skuCodes.length,itemSkuCode]);const priceValue={...state,skuCode:sCode,loader,setSkuCodes};return(0,jsx_runtime_1.jsx)(PricesContext_1.default.Provider,{value:priceValue,children})}exports.PricesContainer=PricesContainer,PricesContainer.propTypes=propTypes,PricesContainer.defaultProps=defaultProps,PricesContainer.displayName=displayName,exports.default=PricesContainer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PricesContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),getPrices_1=tslib_1.__importDefault(require("../../utils/getPrices")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),has_1=tslib_1.__importDefault(require("lodash/has")),indexOf_1=tslib_1.__importDefault(require("lodash/indexOf")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),PriceReducer_1=tslib_1.__importStar(require("../../reducers/PriceReducer")),PricesContext_1=tslib_1.__importDefault(require("../../context/PricesContext")),getCurrentItemKey_1=tslib_1.__importDefault(require("../../utils/getCurrentItemKey")),ItemContext_1=tslib_1.__importDefault(require("../../context/ItemContext")),SkuContext_1=tslib_1.__importDefault(require("../../context/SkuContext"));function PricesContainer(props){const{children,skuCode="",loader="Loading...",perPage=10,filters={}}=props,[state,dispatch]=(0,react_1.useReducer)(PriceReducer_1.default,PriceReducer_1.priceInitialState),config=(0,react_1.useContext)(CommerceLayerContext_1.default),{skuCodes}=(0,react_1.useContext)(SkuContext_1.default),{setPrices,prices,items,item:currentItem,skuCode:itemSkuCode}=(0,react_1.useContext)(ItemContext_1.default);(0,indexOf_1.default)(state.skuCodes,skuCode)===-1&&skuCode&&state.skuCodes.push(skuCode);const sCode=skuCodes&&skuCodes?.length>0?"":skuCode||(0,getCurrentItemKey_1.default)(currentItem)||itemSkuCode||"",setSkuCodes=skuCodes2=>{dispatch({type:"setSkuCodes",payload:{skuCodes:skuCodes2}})};(0,react_1.useEffect)(()=>{if(state.skuCodes.length===0&&skuCodes&&skuCodes.length>0&&setSkuCodes(skuCodes),currentItem&&(0,has_1.default)(prices,sCode)&&dispatch({type:"setPrices",payload:{prices}}),!(0,isEmpty_1.default)(items)&&(0,isEmpty_1.default)(currentItem)){const p=(0,getPrices_1.default)(items);dispatch({type:"setPrices",payload:{prices:p}})}return config.accessToken&&!(0,has_1.default)(prices,itemSkuCode||sCode)&&(state.skuCodes.length>0||itemSkuCode||sCode)&&(0,PriceReducer_1.getSkusPrice)(sCode&&[itemSkuCode||sCode]||state.skuCodes,{config,dispatch,setPrices,prices,perPage,filters}),config.accessToken&&(0,isEmpty_1.default)(currentItem)&&(state.skuCodes.length>0||skuCode)&&(0,PriceReducer_1.getSkusPrice)(sCode&&[sCode]||state.skuCodes,{config,dispatch,setPrices,prices,perPage,filters}),()=>{(0,isEmpty_1.default)(currentItem)&&(0,PriceReducer_1.unsetPriceState)(dispatch)}},[config.accessToken,currentItem,sCode,state.skuCodes.length,itemSkuCode]);const priceValue={...state,skuCode:sCode,loader,setSkuCodes};return(0,jsx_runtime_1.jsx)(PricesContext_1.default.Provider,{value:priceValue,children})}exports.PricesContainer=PricesContainer,exports.default=PricesContainer;
@@ -1,15 +1,9 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { LoaderType } from '../../typings/index';
3
- declare type ShipmentProps = {
3
+ interface ShipmentProps {
4
4
  children: ReactNode;
5
5
  loader?: LoaderType;
6
6
  autoSelectSingleShippingMethod?: boolean | (() => void);
7
- };
8
- export declare function Shipment({ children, loader, autoSelectSingleShippingMethod, }: ShipmentProps): JSX.Element;
9
- export declare namespace Shipment {
10
- var propTypes: {
11
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
12
- };
13
- var displayName: string;
14
7
  }
8
+ export declare function Shipment({ children, loader, autoSelectSingleShippingMethod }: ShipmentProps): JSX.Element;
15
9
  export default Shipment;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Shipment=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),ShipmentContext_1=tslib_1.__importDefault(require("../../context/ShipmentContext")),ShipmentChildrenContext_1=tslib_1.__importDefault(require("../../context/ShipmentChildrenContext")),components_1=tslib_1.__importDefault(require("../../config/components")),getLoaderComponent_1=tslib_1.__importDefault(require("../../utils/getLoaderComponent")),propTypes=components_1.default.Shipment.propTypes,displayName=components_1.default.Shipment.displayName;function Shipment({children,loader="Loading...",autoSelectSingleShippingMethod=!1}){const[loading,setLoading]=(0,react_1.useState)(!0),{shipments,deliveryLeadTimes,setShippingMethod}=(0,react_1.useContext)(ShipmentContext_1.default);(0,react_1.useEffect)(()=>{shipments&&(autoSelectSingleShippingMethod?(async()=>await shipments.forEach(async shipment=>{const isSingle=shipment?.available_shipping_methods?.length===1;if(!shipment?.shipping_method&&isSingle){const[shippingMethod]=shipment?.available_shipping_methods||[];shippingMethod&&await setShippingMethod(shipment.id,shippingMethod.id),typeof autoSelectSingleShippingMethod=="function"&&autoSelectSingleShippingMethod()}else setTimeout(()=>{setLoading(!1)},200)}))():setLoading(!1))},[shipments]);const components=shipments&&shipments.map((shipment,k)=>{const lineItems=shipment.shipment_line_items?.map(shipmentLineItem=>{const l=shipmentLineItem.line_item;return l&&(l.quantity=shipmentLineItem.quantity),l}),shippingMethods=shipment.available_shipping_methods,currentShippingMethodId=autoSelectSingleShippingMethod&&shippingMethods&&shippingMethods.length===1?shippingMethods[0]?.id:shipment.shipping_method?.id,stockTransfers=shipment.stock_transfers,times=deliveryLeadTimes?.filter(time=>time.stock_location?.id===shipment.stock_location?.id),shipmentProps={lineItems,shippingMethods,currentShippingMethodId,stockTransfers,deliveryLeadTimes:times,shipment,keyNumber:k+1};return(0,jsx_runtime_1.jsx)(ShipmentChildrenContext_1.default.Provider,{value:shipmentProps,children},k)});return loading?(0,getLoaderComponent_1.default)(loader):(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:components})}exports.Shipment=Shipment,Shipment.propTypes=propTypes,Shipment.displayName=displayName,exports.default=Shipment;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Shipment=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),ShipmentContext_1=tslib_1.__importDefault(require("../../context/ShipmentContext")),ShipmentChildrenContext_1=tslib_1.__importDefault(require("../../context/ShipmentChildrenContext")),getLoaderComponent_1=tslib_1.__importDefault(require("../../utils/getLoaderComponent"));function Shipment({children,loader="Loading...",autoSelectSingleShippingMethod=!1}){const[loading,setLoading]=(0,react_1.useState)(!0),{shipments,deliveryLeadTimes,setShippingMethod}=(0,react_1.useContext)(ShipmentContext_1.default);(0,react_1.useEffect)(()=>{shipments&&(autoSelectSingleShippingMethod?(async()=>shipments.forEach(async shipment=>{const isSingle=shipment?.available_shipping_methods?.length===1;if(!shipment?.shipping_method&&isSingle){const[shippingMethod]=shipment?.available_shipping_methods||[];shippingMethod&&await setShippingMethod(shipment.id,shippingMethod.id),typeof autoSelectSingleShippingMethod=="function"&&autoSelectSingleShippingMethod()}else setTimeout(()=>{setLoading(!1)},200)}))():setLoading(!1))},[shipments]);const components=shipments?.map((shipment,k)=>{const lineItems=shipment.shipment_line_items?.map(shipmentLineItem=>{const l=shipmentLineItem.line_item;return l&&(l.quantity=shipmentLineItem.quantity),l}),shippingMethods=shipment.available_shipping_methods,currentShippingMethodId=autoSelectSingleShippingMethod&&shippingMethods&&shippingMethods.length===1?shippingMethods[0]?.id:shipment.shipping_method?.id,stockTransfers=shipment.stock_transfers,parcels=shipment.parcels,times=deliveryLeadTimes?.filter(time=>time.stock_location?.id===shipment.stock_location?.id),shipmentProps={parcels,lineItems,shippingMethods,currentShippingMethodId,stockTransfers,deliveryLeadTimes:times,shipment,keyNumber:k+1};return(0,jsx_runtime_1.jsx)(ShipmentChildrenContext_1.default.Provider,{value:shipmentProps,children},k)});return loading?(0,getLoaderComponent_1.default)(loader):(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:components})}exports.Shipment=Shipment,exports.default=Shipment;
@@ -9,11 +9,4 @@ declare type Props = {
9
9
  name: ShipmentAttribute;
10
10
  } & JSX.IntrinsicElements['span'];
11
11
  export declare function ShipmentField(props: Props): JSX.Element;
12
- export declare namespace ShipmentField {
13
- var propTypes: {
14
- children: import("prop-types").Requireable<(...args: any[]) => any>;
15
- name: import("prop-types").Validator<NonNullable<ShipmentAttribute>>;
16
- };
17
- var displayName: string;
18
- }
19
12
  export default ShipmentField;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShipmentField=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")),get_1=tslib_1.__importDefault(require("lodash/get")),ShipmentChildrenContext_1=tslib_1.__importDefault(require("../../context/ShipmentChildrenContext")),propTypes=components_1.default.ShipmentField.propTypes,displayName=components_1.default.ShipmentField.displayName;function ShipmentField(props){const{name}=props,{shipment,keyNumber}=(0,react_1.useContext)(ShipmentChildrenContext_1.default),key=name,text=key!=="key_number"?(0,get_1.default)(shipment,key):keyNumber,parentProps={shipment,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("span",{...props,children:text})}exports.ShipmentField=ShipmentField,ShipmentField.propTypes=propTypes,ShipmentField.displayName=displayName,exports.default=ShipmentField;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShipmentField=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")),get_1=tslib_1.__importDefault(require("lodash/get")),ShipmentChildrenContext_1=tslib_1.__importDefault(require("../../context/ShipmentChildrenContext"));function ShipmentField(props){const{name}=props,{shipment,keyNumber}=(0,react_1.useContext)(ShipmentChildrenContext_1.default),key=name,text=key!=="key_number"?(0,get_1.default)(shipment,key):keyNumber,parentProps={shipment,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("span",{...props,children:text})}exports.ShipmentField=ShipmentField,exports.default=ShipmentField;
@@ -1,12 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
- declare type Props = {
2
+ interface Props {
3
3
  children: ReactNode;
4
- };
5
- export declare function ShipmentsContainer(props: Props): JSX.Element;
6
- export declare namespace ShipmentsContainer {
7
- var propTypes: {
8
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
9
- };
10
- var displayName: string;
11
4
  }
5
+ export declare function ShipmentsContainer(props: Props): JSX.Element;
12
6
  export default ShipmentsContainer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShipmentsContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),ShipmentContext_1=tslib_1.__importStar(require("../../context/ShipmentContext")),react_1=require("react"),ShipmentReducer_1=tslib_1.__importStar(require("../../reducers/ShipmentReducer")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),components_1=tslib_1.__importDefault(require("../../config/components")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),propTypes=components_1.default.ShipmentsContainer.propTypes,displayName=components_1.default.ShipmentsContainer.displayName;function ShipmentsContainer(props){const{children}=props,[state,dispatch]=(0,react_1.useReducer)(ShipmentReducer_1.default,ShipmentReducer_1.shipmentInitialState),{order,getOrder,include,addResourceToInclude,includeLoaded}=(0,react_1.useContext)(OrderContext_1.default),config=(0,react_1.useContext)(CommerceLayerContext_1.default);(0,react_1.useEffect)(()=>{include?.includes("shipments.available_shipping_methods")?includeLoaded?.["shipments.available_shipping_methods"]||addResourceToInclude({newResourceLoaded:{"shipments.available_shipping_methods":!0,"shipments.shipment_line_items.line_item":!0,"shipments.shipping_method":!0,"shipments.stock_transfers.line_item":!0,"shipments.stock_location":!0}}):addResourceToInclude({newResource:["shipments.available_shipping_methods","shipments.shipment_line_items.line_item","shipments.shipping_method","shipments.stock_transfers.line_item","shipments.stock_location"]}),order&&!(0,isEmpty_1.default)(config)&&order.shipments&&(0,ShipmentReducer_1.getShipments)({order,dispatch,config})},[order,include,includeLoaded]),(0,react_1.useEffect)(()=>(order&&(order.shipments&&order.shipments.length>0&&order.shipments.map(shipment=>shipment.available_shipping_methods&&shipment.available_shipping_methods.length>0).includes(!1)&&(0,ShipmentReducer_1.setShipmentErrors)([...state.errors||[],{code:"NO_SHIPPING_METHODS",message:"No shipping methods",resource:"shipments"}],dispatch),order.line_items&&order.line_items.length>0&&order.line_items.filter(({item_type})=>item_type==="skus").map(lineItem=>!!(lineItem.item?.do_not_ship||lineItem.item?.do_not_track||lineItem.item?.inventory?.quantity>=lineItem?.quantity)).includes(!1)&&(0,ShipmentReducer_1.setShipmentErrors)([...state.errors||[],{code:"OUT_OF_STOCK",message:"No stock available",resource:"line_items"}],dispatch)),()=>{(0,ShipmentReducer_1.setShipmentErrors)([],dispatch)}),[order?.shipments]);const contextValue={...state,setShipmentErrors:errors=>ShipmentContext_1.defaultShipmentContext.setShipmentErrors(errors,dispatch),setShippingMethod:async(shipmentId,shippingMethodId)=>await(0,ShipmentReducer_1.setShippingMethod)({shippingMethodId,shipmentId,config,getOrder,order})};return(0,jsx_runtime_1.jsx)(ShipmentContext_1.default.Provider,{value:contextValue,children})}exports.ShipmentsContainer=ShipmentsContainer,ShipmentsContainer.propTypes=propTypes,ShipmentsContainer.displayName=displayName,exports.default=ShipmentsContainer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShipmentsContainer=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),ShipmentContext_1=tslib_1.__importStar(require("../../context/ShipmentContext")),react_1=require("react"),ShipmentReducer_1=tslib_1.__importStar(require("../../reducers/ShipmentReducer")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty"));function ShipmentsContainer(props){const{children}=props,[state,dispatch]=(0,react_1.useReducer)(ShipmentReducer_1.default,ShipmentReducer_1.shipmentInitialState),{order,getOrder,include,addResourceToInclude,includeLoaded}=(0,react_1.useContext)(OrderContext_1.default),config=(0,react_1.useContext)(CommerceLayerContext_1.default);(0,react_1.useEffect)(()=>{include?.includes("shipments.available_shipping_methods")?includeLoaded?.["shipments.available_shipping_methods"]||addResourceToInclude({newResourceLoaded:{"shipments.available_shipping_methods":!0,"shipments.shipment_line_items.line_item":!0,"shipments.shipping_method":!0,"shipments.stock_transfers.line_item":!0,"shipments.stock_location":!0,"shipments.parcels":!0}}):addResourceToInclude({newResource:["shipments.available_shipping_methods","shipments.shipment_line_items.line_item","shipments.shipping_method","shipments.stock_transfers.line_item","shipments.stock_location","shipments.parcels"]}),order&&!(0,isEmpty_1.default)(config)&&order.shipments&&(0,ShipmentReducer_1.getShipments)({order,dispatch,config})},[order,include,includeLoaded]),(0,react_1.useEffect)(()=>(order&&(order.shipments&&order.shipments.length>0&&order.shipments.map(shipment=>shipment.available_shipping_methods&&shipment.available_shipping_methods.length>0).includes(!1)&&(0,ShipmentReducer_1.setShipmentErrors)([...state.errors||[],{code:"NO_SHIPPING_METHODS",message:"No shipping methods",resource:"shipments"}],dispatch),order.line_items&&order.line_items.length>0&&order.line_items.filter(({item_type:itemType})=>itemType==="skus").map(lineItem=>!!(lineItem.item?.do_not_ship||lineItem.item?.do_not_track||lineItem.item?.inventory?.quantity>=lineItem?.quantity)).includes(!1)&&(0,ShipmentReducer_1.setShipmentErrors)([...state.errors||[],{code:"OUT_OF_STOCK",message:"No stock available",resource:"line_items"}],dispatch)),()=>{(0,ShipmentReducer_1.setShipmentErrors)([],dispatch)}),[order?.shipments]);const contextValue={...state,setShipmentErrors:errors=>ShipmentContext_1.defaultShipmentContext.setShipmentErrors(errors,dispatch),setShippingMethod:async(shipmentId,shippingMethodId)=>await(0,ShipmentReducer_1.setShippingMethod)({shippingMethodId,shipmentId,config,getOrder,order})};return(0,jsx_runtime_1.jsx)(ShipmentContext_1.default.Provider,{value:contextValue,children})}exports.ShipmentsContainer=ShipmentsContainer,exports.default=ShipmentsContainer;
@@ -1,15 +1,8 @@
1
1
  import { ReactNode } from 'react';
2
- declare type Props = {
2
+ interface Props {
3
3
  children: ReactNode;
4
4
  readonly?: boolean;
5
5
  emptyText?: string;
6
- };
7
- export declare function ShippingMethod(props: Props): JSX.Element;
8
- export declare namespace ShippingMethod {
9
- var propTypes: {
10
- children: import("prop-types").Validator<NonNullable<ReactNode | (() => JSX.Element)>>;
11
- readonly: import("prop-types").Requireable<boolean>;
12
- };
13
- var displayName: string;
14
6
  }
7
+ export declare function ShippingMethod(props: Props): JSX.Element;
15
8
  export default ShippingMethod;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShippingMethod=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),ShippingMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/ShippingMethodChildrenContext")),components_1=tslib_1.__importDefault(require("../../config/components")),ShipmentChildrenContext_1=tslib_1.__importDefault(require("../../context/ShipmentChildrenContext")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),propTypes=components_1.default.ShippingMethod.propTypes,displayName=components_1.default.ShippingMethod.displayName;function ShippingMethod(props){const{children,readonly,emptyText="There are not any shipping method available"}=props,{shippingMethods,currentShippingMethodId,deliveryLeadTimes,shipment}=(0,react_1.useContext)(ShipmentChildrenContext_1.default),[items,setItems]=(0,react_1.useState)([]);(0,react_1.useEffect)(()=>{const methods=shippingMethods&&shippingMethods.filter(s=>readonly?s.id===currentShippingMethodId:!0).map((shippingMethod,k)=>{const[deliveryLeadTimeForShipment]=deliveryLeadTimes?.filter(delivery=>{const deliveryShippingMethodId=delivery.shipping_method?.id;return shippingMethod.id===deliveryShippingMethodId}),shippingProps={shipmentId:shipment?.id,shippingMethod,currentShippingMethodId,deliveryLeadTimeForShipment};return(0,jsx_runtime_1.jsx)(ShippingMethodChildrenContext_1.default.Provider,{value:shippingProps,children},k)});methods&&setItems(methods)},[currentShippingMethodId,deliveryLeadTimes,shippingMethods]);const components=!(0,isEmpty_1.default)(items)&&items||emptyText;return(0,jsx_runtime_1.jsx)(react_1.Fragment,{children:components})}exports.ShippingMethod=ShippingMethod,ShippingMethod.propTypes=propTypes,ShippingMethod.displayName=displayName,exports.default=ShippingMethod;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShippingMethod=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),ShippingMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/ShippingMethodChildrenContext")),ShipmentChildrenContext_1=tslib_1.__importDefault(require("../../context/ShipmentChildrenContext")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty"));function ShippingMethod(props){const{children,readonly,emptyText="There are not any shipping method available"}=props,{shippingMethods,currentShippingMethodId,deliveryLeadTimes,shipment}=(0,react_1.useContext)(ShipmentChildrenContext_1.default),[items,setItems]=(0,react_1.useState)([]);(0,react_1.useEffect)(()=>{const methods=shippingMethods?.filter(s=>readonly?s.id===currentShippingMethodId:!0).map((shippingMethod,k)=>{const[deliveryLeadTimeForShipment]=deliveryLeadTimes?.filter(delivery=>{const deliveryShippingMethodId=delivery.shipping_method?.id;return shippingMethod.id===deliveryShippingMethodId}),shippingProps={shipmentId:shipment?.id,shippingMethod,currentShippingMethodId,deliveryLeadTimeForShipment};return(0,jsx_runtime_1.jsx)(ShippingMethodChildrenContext_1.default.Provider,{value:shippingProps,children},k)});methods&&setItems(methods)},[currentShippingMethodId,deliveryLeadTimes,shippingMethods]);const components=!(0,isEmpty_1.default)(items)&&items||emptyText;return(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:components})}exports.ShippingMethod=ShippingMethod,exports.default=ShippingMethod;
@@ -8,10 +8,4 @@ declare type Props = {
8
8
  children?: (props: ChildrenProps) => JSX.Element;
9
9
  } & JSX.IntrinsicElements['label'];
10
10
  export declare function ShippingMethodName(props: Props): JSX.Element;
11
- export declare namespace ShippingMethodName {
12
- var propTypes: {
13
- children: import("prop-types").Requireable<(...args: any[]) => any>;
14
- };
15
- var displayName: string;
16
- }
17
11
  export default ShippingMethodName;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShippingMethodName=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),ShippingMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/ShippingMethodChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),components_1=tslib_1.__importDefault(require("../../config/components")),propTypes=components_1.default.ShippingMethodName.propTypes,displayName=components_1.default.ShippingMethodName.displayName;function ShippingMethodName(props){const{shippingMethod,deliveryLeadTimeForShipment,shipmentId}=(0,react_1.useContext)(ShippingMethodChildrenContext_1.default),htmlFor=`shipment-${shipmentId}-${shippingMethod?.id}`||"",labelName=shippingMethod?.name,parentProps={shippingMethod,deliveryLeadTimeForShipment,label:labelName,htmlFor,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("label",{htmlFor,...props,children:labelName})}exports.ShippingMethodName=ShippingMethodName,ShippingMethodName.propTypes=propTypes,ShippingMethodName.displayName=displayName,exports.default=ShippingMethodName;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShippingMethodName=void 0;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),ShippingMethodChildrenContext_1=tslib_1.__importDefault(require("../../context/ShippingMethodChildrenContext")),Parent_1=tslib_1.__importDefault(require("../utils/Parent"));function ShippingMethodName(props){const{shippingMethod,deliveryLeadTimeForShipment,shipmentId}=(0,react_1.useContext)(ShippingMethodChildrenContext_1.default),htmlFor=`shipment-${shipmentId??""}-${shippingMethod?.id??""}`||"",labelName=shippingMethod?.name,parentProps={shippingMethod,deliveryLeadTimeForShipment,label:labelName,htmlFor,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):(0,jsx_runtime_1.jsx)("label",{htmlFor,...props,children:labelName})}exports.ShippingMethodName=ShippingMethodName,exports.default=ShippingMethodName;