UNPKG

@commercelayer/react-components

Version:
2 lines 1.63 kB
"use client"; "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ShippingAddressContainer=ShippingAddressContainer;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),ShippingAddressContext_1=tslib_1.__importDefault(require("../../context/ShippingAddressContext")),react_1=require("react"),ShippingAddressReducer_1=tslib_1.__importStar(require("../../reducers/ShippingAddressReducer")),CommerceLayerContext_1=tslib_1.__importDefault(require("../../context/CommerceLayerContext")),OrderContext_1=tslib_1.__importDefault(require("../../context/OrderContext")),AddressContext_1=tslib_1.__importDefault(require("../../context/AddressContext"));function ShippingAddressContainer(props){const{children}=props,[state,dispatch]=(0,react_1.useReducer)(ShippingAddressReducer_1.default,ShippingAddressReducer_1.shippingAddressInitialState),config=(0,react_1.useContext)(CommerceLayerContext_1.default),{order}=(0,react_1.useContext)(OrderContext_1.default),{setCloneAddress}=(0,react_1.useContext)(AddressContext_1.default);(0,react_1.useEffect)(()=>(order&&config&&(0,ShippingAddressReducer_1.setShippingCustomerAddressId)({dispatch,order,setCloneAddress}),()=>{dispatch({type:"cleanup",payload:{}})}),[config,order]);const contextValue={...state,setShippingAddress:async(id,options)=>{await(0,ShippingAddressReducer_1.setShippingAddress)(id,{config,dispatch,order,customerAddressId:options?.customerAddressId}),setCloneAddress(id,"shipping_address")}};return(0,jsx_runtime_1.jsx)(ShippingAddressContext_1.default.Provider,{value:contextValue,children})}exports.default=ShippingAddressContainer;