@commercelayer/react-components 4.4.0-beta.4 → 4.4.0-beta.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.
- package/lib/cjs/components/errors/Errors.d.ts +1 -1
- package/lib/cjs/components/errors/Errors.js +1 -1
- package/lib/cjs/components/gift_cards/GiftCardOrCouponCode.d.ts +4 -4
- package/lib/cjs/components/in_stock_subscriptions/InStockSubscriptionButton.d.ts +35 -0
- package/lib/cjs/components/in_stock_subscriptions/InStockSubscriptionButton.js +1 -0
- package/lib/cjs/components/in_stock_subscriptions/InStockSubscriptionsContainer.d.ts +9 -0
- package/lib/cjs/components/in_stock_subscriptions/InStockSubscriptionsContainer.js +1 -0
- package/lib/cjs/components/line_items/LineItem.js +1 -1
- package/lib/cjs/components/line_items/LineItemImage.js +1 -1
- package/lib/cjs/components/line_items/LineItemQuantity.js +1 -1
- package/lib/cjs/components/orders/CheckoutLink.js +1 -1
- package/lib/cjs/components/parcels/ParcelsCount.d.ts +1 -1
- package/lib/cjs/components/payment_source/BraintreePayment.js +1 -1
- package/lib/cjs/components/payment_source/CheckoutComPayment.js +1 -1
- package/lib/cjs/components/payment_source/KlarnaPayment.d.ts +1 -1
- package/lib/cjs/components/payment_source/KlarnaPayment.js +1 -1
- package/lib/cjs/components/payment_source/StripeExpressPayment.js +1 -1
- package/lib/cjs/components/payment_source/StripePayment.js +1 -1
- package/lib/cjs/components/prices/Price.d.ts +1 -1
- package/lib/cjs/components/shipments/ShipmentsCount.d.ts +1 -1
- package/lib/cjs/components/stock_transfers/StockTransfer.js +1 -1
- package/lib/cjs/components/utils/AddressCardsTemplate.d.ts +1 -1
- package/lib/cjs/components/utils/GenericFieldComponent.d.ts +2 -2
- package/lib/cjs/components/utils/PaymentCardsTemplate.d.ts +4 -10
- package/lib/cjs/components/utils/getAllErrors.d.ts +1 -1
- package/lib/cjs/context/InStockSubscriptionContext.d.ts +7 -0
- package/lib/cjs/context/InStockSubscriptionContext.js +1 -0
- package/lib/cjs/context/LineItemChildrenContext.d.ts +3 -3
- package/lib/cjs/context/LineItemContext.d.ts +1 -1
- package/lib/cjs/context/LineItemOptionChildrenContext.d.ts +0 -1
- package/lib/cjs/context/PaymentMethodContext.d.ts +2 -2
- package/lib/cjs/context/ShipmentChildrenContext.d.ts +5 -5
- package/lib/cjs/context/StockTransferChildrenContext.d.ts +2 -2
- package/lib/cjs/index.d.ts +2 -0
- package/lib/cjs/index.js +1 -1
- package/lib/cjs/reducers/InStockSubscriptionReducer.d.ts +33 -0
- package/lib/cjs/reducers/InStockSubscriptionReducer.js +1 -0
- package/lib/cjs/reducers/LineItemReducer.d.ts +1 -1
- package/lib/cjs/reducers/PaymentMethodReducer.d.ts +6 -6
- package/lib/cjs/reducers/PaymentMethodReducer.js +1 -1
- package/lib/cjs/reducers/PlaceOrderReducer.d.ts +1 -3
- package/lib/cjs/reducers/PlaceOrderReducer.js +1 -1
- package/lib/cjs/reducers/ShipmentReducer.d.ts +1 -1
- package/lib/cjs/utils/addressesManager.d.ts +2 -2
- package/lib/cjs/utils/expressPaymentHelper.js +1 -1
- package/lib/cjs/utils/getLineItemsCount.js +1 -1
- package/lib/cjs/utils/shipments.d.ts +1 -1
- package/lib/esm/components/errors/Errors.d.ts +1 -1
- package/lib/esm/components/errors/Errors.js +1 -1
- package/lib/esm/components/gift_cards/GiftCardOrCouponCode.d.ts +4 -4
- package/lib/esm/components/in_stock_subscriptions/InStockSubscriptionButton.d.ts +35 -0
- package/lib/esm/components/in_stock_subscriptions/InStockSubscriptionButton.js +1 -0
- package/lib/esm/components/in_stock_subscriptions/InStockSubscriptionsContainer.d.ts +9 -0
- package/lib/esm/components/in_stock_subscriptions/InStockSubscriptionsContainer.js +1 -0
- package/lib/esm/components/line_items/LineItem.js +1 -1
- package/lib/esm/components/line_items/LineItemImage.js +1 -1
- package/lib/esm/components/line_items/LineItemQuantity.js +1 -1
- package/lib/esm/components/orders/CheckoutLink.js +1 -1
- package/lib/esm/components/parcels/ParcelsCount.d.ts +1 -1
- package/lib/esm/components/payment_source/BraintreePayment.js +1 -1
- package/lib/esm/components/payment_source/CheckoutComPayment.js +1 -1
- package/lib/esm/components/payment_source/KlarnaPayment.d.ts +1 -1
- package/lib/esm/components/payment_source/KlarnaPayment.js +1 -1
- package/lib/esm/components/payment_source/StripeExpressPayment.js +1 -1
- package/lib/esm/components/payment_source/StripePayment.js +1 -1
- package/lib/esm/components/prices/Price.d.ts +1 -1
- package/lib/esm/components/shipments/ShipmentsCount.d.ts +1 -1
- package/lib/esm/components/stock_transfers/StockTransfer.js +1 -1
- package/lib/esm/components/utils/AddressCardsTemplate.d.ts +1 -1
- package/lib/esm/components/utils/GenericFieldComponent.d.ts +2 -2
- package/lib/esm/components/utils/PaymentCardsTemplate.d.ts +4 -10
- package/lib/esm/components/utils/getAllErrors.d.ts +1 -1
- package/lib/esm/context/InStockSubscriptionContext.d.ts +7 -0
- package/lib/esm/context/InStockSubscriptionContext.js +1 -0
- package/lib/esm/context/LineItemChildrenContext.d.ts +3 -3
- package/lib/esm/context/LineItemContext.d.ts +1 -1
- package/lib/esm/context/LineItemOptionChildrenContext.d.ts +0 -1
- package/lib/esm/context/PaymentMethodContext.d.ts +2 -2
- package/lib/esm/context/ShipmentChildrenContext.d.ts +5 -5
- package/lib/esm/context/StockTransferChildrenContext.d.ts +2 -2
- package/lib/esm/index.d.ts +2 -0
- package/lib/esm/index.js +1 -1
- package/lib/esm/reducers/InStockSubscriptionReducer.d.ts +33 -0
- package/lib/esm/reducers/InStockSubscriptionReducer.js +1 -0
- package/lib/esm/reducers/LineItemReducer.d.ts +1 -1
- package/lib/esm/reducers/PaymentMethodReducer.d.ts +6 -6
- package/lib/esm/reducers/PaymentMethodReducer.js +1 -1
- package/lib/esm/reducers/PlaceOrderReducer.d.ts +1 -3
- package/lib/esm/reducers/PlaceOrderReducer.js +1 -1
- package/lib/esm/reducers/ShipmentReducer.d.ts +1 -1
- package/lib/esm/utils/addressesManager.d.ts +2 -2
- package/lib/esm/utils/expressPaymentHelper.js +1 -1
- package/lib/esm/utils/getLineItemsCount.js +1 -1
- package/lib/esm/utils/shipments.d.ts +1 -1
- package/package.json +11 -4
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { type setInStockSubscription, type InStockSubscriptionState } from '../reducers/InStockSubscriptionReducer';
|
|
3
|
+
export interface InitialInStockSubscriptionContext extends InStockSubscriptionState {
|
|
4
|
+
setInStockSubscription?: typeof setInStockSubscription;
|
|
5
|
+
}
|
|
6
|
+
declare const InStockSubscriptionContext: import("react").Context<InitialInStockSubscriptionContext>;
|
|
7
|
+
export default InStockSubscriptionContext;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createContext}from"react";const initial={},InStockSubscriptionContext=createContext(initial);export default InStockSubscriptionContext;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type LineItem } from '@commercelayer/sdk';
|
|
3
|
-
export type
|
|
4
|
-
lineItem: LineItem;
|
|
3
|
+
export type InitialLineItemChildrenContext = Partial<{
|
|
4
|
+
lineItem: LineItem | null | undefined;
|
|
5
5
|
}>;
|
|
6
6
|
declare const LineItemChildrenContext: import("react").Context<Partial<{
|
|
7
|
-
lineItem: LineItem;
|
|
7
|
+
lineItem: LineItem | null | undefined;
|
|
8
8
|
}>>;
|
|
9
9
|
export default LineItemChildrenContext;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { type LineItemState } from '../reducers/LineItemReducer';
|
|
3
3
|
import { type LineItem } from '@commercelayer/sdk';
|
|
4
4
|
export interface LineItemContextValue extends LineItemState {
|
|
5
|
-
lineItems?: LineItem[] |
|
|
5
|
+
lineItems?: LineItem[] | null;
|
|
6
6
|
}
|
|
7
7
|
declare const LineItemContext: import("react").Context<LineItemContextValue>;
|
|
8
8
|
export default LineItemContext;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { LineItemOption } from '@commercelayer/sdk';
|
|
3
3
|
export interface TLineItemOptions extends LineItemOption {
|
|
4
|
-
options?: Record<string, string>;
|
|
5
4
|
}
|
|
6
5
|
export interface InitialLineItemContext {
|
|
7
6
|
lineItemOption: Partial<TLineItemOptions>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { type UpdatePaymentSource, type PaymentMethodState, type SetPaymentMethodErrors,
|
|
2
|
+
import { type UpdatePaymentSource, type PaymentMethodState, type SetPaymentMethodErrors, setPaymentSource, setPaymentMethod, type DestroyPaymentSource, type SetPaymentRef, setLoading } from '../reducers/PaymentMethodReducer';
|
|
3
3
|
type DefaultContext = {
|
|
4
4
|
setPaymentMethodErrors: SetPaymentMethodErrors;
|
|
5
5
|
setPaymentMethod: typeof setPaymentMethod;
|
|
6
|
-
setPaymentSource:
|
|
6
|
+
setPaymentSource: typeof setPaymentSource;
|
|
7
7
|
setPaymentRef: SetPaymentRef;
|
|
8
8
|
destroyPaymentSource: DestroyPaymentSource;
|
|
9
9
|
updatePaymentSource: UpdatePaymentSource;
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
import type { DeliveryLeadTime, LineItem, Parcel, Shipment, ShippingMethod, StockTransfer } from '@commercelayer/sdk';
|
|
3
3
|
export interface InitialShipmentContext {
|
|
4
4
|
currentShippingMethodId?: string;
|
|
5
|
-
deliveryLeadTimes?: DeliveryLeadTime[];
|
|
5
|
+
deliveryLeadTimes?: DeliveryLeadTime[] | null | undefined;
|
|
6
6
|
keyNumber: number;
|
|
7
|
-
lineItems?: LineItem
|
|
8
|
-
parcels?: Parcel[];
|
|
7
|
+
lineItems?: Array<LineItem | null | undefined>;
|
|
8
|
+
parcels?: Parcel[] | null | undefined;
|
|
9
9
|
shipment?: Shipment;
|
|
10
|
-
shippingMethods?: ShippingMethod[];
|
|
11
|
-
stockTransfers?: StockTransfer[];
|
|
10
|
+
shippingMethods?: ShippingMethod[] | null | undefined;
|
|
11
|
+
stockTransfers?: StockTransfer[] | null | undefined;
|
|
12
12
|
}
|
|
13
13
|
declare const ShipmentChildrenContext: import("react").Context<InitialShipmentContext>;
|
|
14
14
|
export default ShipmentChildrenContext;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { type StockTransfer } from '@commercelayer/sdk';
|
|
2
|
+
import { type LineItem, type StockTransfer } from '@commercelayer/sdk';
|
|
3
3
|
export interface InitialStockTransferContext {
|
|
4
|
-
stockTransfer?: StockTransfer;
|
|
4
|
+
stockTransfer?: StockTransfer | null | LineItem;
|
|
5
5
|
}
|
|
6
6
|
declare const StockTransferChildrenContext: import("react").Context<InitialStockTransferContext>;
|
|
7
7
|
export default StockTransferChildrenContext;
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export * from './components/gift_cards/GiftCardOrCouponForm';
|
|
|
29
29
|
export * from './components/gift_cards/GiftCardOrCouponInput';
|
|
30
30
|
export * from './components/gift_cards/GiftCardOrCouponRemoveButton';
|
|
31
31
|
export * from './components/gift_cards/GiftCardOrCouponSubmit';
|
|
32
|
+
export * from './components/in_stock_subscriptions/InStockSubscriptionsContainer';
|
|
33
|
+
export * from './components/in_stock_subscriptions/InStockSubscriptionButton';
|
|
32
34
|
export * from './components/line_items/LineItemsContainer';
|
|
33
35
|
export * from './components/line_items/LineItem';
|
|
34
36
|
export * from './components/line_items/LineItemAmount';
|
package/lib/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export*from"./components/errors/Errors";export*from"./components/ExternalFunction";export*from"./components/MetadataInput";export*from"./components/SubmitButton";export*from"./components/addresses/Address";export*from"./components/addresses/AddressCountrySelector";export*from"./components/addresses/AddressField";export*from"./components/addresses/AddressInput";export*from"./components/addresses/AddressStateSelector";export*from"./components/addresses/AddressesContainer";export*from"./components/addresses/AddressesEmpty";export*from"./components/addresses/BillingAddressContainer";export*from"./components/addresses/BillingAddressForm";export*from"./components/addresses/SaveAddressesButton";export*from"./components/addresses/ShippingAddressContainer";export*from"./components/addresses/ShippingAddressForm";export*from"./components/auth/CommerceLayer";export*from"./components/customers/CustomerAddressForm";export*from"./components/customers/CustomerContainer";export*from"./components/customers/CustomerField";export*from"./components/customers/CustomerInput";export*from"./components/customers/SaveCustomerButton";export*from"./components/gift_cards/GiftCard";export*from"./components/gift_cards/GiftCardContainer";export*from"./components/gift_cards/GiftCardCurrencySelector";export*from"./components/gift_cards/GiftCardInput";export*from"./components/gift_cards/GiftCardOrCouponCode";export*from"./components/gift_cards/GiftCardOrCouponForm";export*from"./components/gift_cards/GiftCardOrCouponInput";export*from"./components/gift_cards/GiftCardOrCouponRemoveButton";export*from"./components/gift_cards/GiftCardOrCouponSubmit";export*from"./components/line_items/LineItemsContainer";export*from"./components/line_items/LineItem";export*from"./components/line_items/LineItemAmount";export*from"./components/line_items/LineItemCode";export*from"./components/line_items/LineItemField";export*from"./components/line_items/LineItemImage";export*from"./components/line_items/LineItemName";export*from"./components/line_items/LineItemOption";export*from"./components/line_items/LineItemOptions";export*from"./components/line_items/LineItemQuantity";export*from"./components/line_items/LineItemRemoveLink";export*from"./components/line_items/LineItemsCount";export*from"./components/line_items/LineItemsEmpty";export*from"./components/orders/AddToCartButton";export*from"./components/orders/AdjustmentAmount";export*from"./components/orders/CartLink";export*from"./components/orders/CheckoutLink";export*from"./components/orders/DiscountAmount";export*from"./components/orders/GiftCardAmount";export*from"./components/orders/OrderContainer";export*from"./components/orders/OrderList";export*from"./components/orders/OrderListEmpty";export*from"./components/orders/OrderListRow";export*from"./components/orders/OrderNumber";export*from"./components/orders/OrderStorage";export*from"./components/orders/PaymentMethodAmount";export*from"./components/orders/PlaceOrderButton";export*from"./components/orders/PlaceOrderContainer";export*from"./components/orders/PrivacyAndTermsCheckbox";export*from"./components/orders/ShippingAmount";export*from"./components/orders/SubTotalAmount";export*from"./components/orders/TaxesAmount";export*from"./components/orders/TotalAmount";export*from"./components/parcels/ParcelField";export*from"./components/parcels/ParcelLineItem";export*from"./components/parcels/ParcelLineItemField";export*from"./components/parcels/ParcelLineItemsCount";export*from"./components/parcels/Parcels";export*from"./components/parcels/ParcelsCount";export*from"./components/payment_methods/PaymentMethod";export*from"./components/payment_methods/PaymentMethodName";export*from"./components/payment_methods/PaymentMethodPrice";export*from"./components/payment_methods/PaymentMethodRadioButton";export*from"./components/payment_methods/PaymentMethodsContainer";export*from"./components/payment_source/PaymentSource";export*from"./components/payment_source/PaymentSourceBrandIcon";export*from"./components/payment_source/PaymentSourceBrandName";export*from"./components/payment_source/PaymentSourceDetail";export*from"./components/payment_source/PaymentSourceEditButton";export*from"./components/prices/Price";export*from"./components/prices/PricesContainer";export*from"./components/shipments/Shipment";export*from"./components/shipments/ShipmentField";export*from"./components/shipments/ShipmentsContainer";export*from"./components/shipments/ShipmentsCount";export*from"./components/shipping_methods/ShippingMethod";export*from"./components/shipping_methods/ShippingMethodName";export*from"./components/shipping_methods/ShippingMethodPrice";export*from"./components/shipping_methods/ShippingMethodRadioButton";export*from"./components/skus/AvailabilityContainer";export*from"./components/skus/AvailabilityTemplate";export*from"./components/skus/DeliveryLeadTime";export*from"./components/skus/SkuField";export*from"./components/skus/SkuList";export*from"./components/skus/SkuListsContainer";export*from"./components/skus/Skus";export*from"./components/skus/SkusContainer";export*from"./components/stock_transfers/StockTransfer";export*from"./components/stock_transfers/StockTransferField";export*from"./typings/errors";
|
|
1
|
+
export*from"./components/errors/Errors";export*from"./components/ExternalFunction";export*from"./components/MetadataInput";export*from"./components/SubmitButton";export*from"./components/addresses/Address";export*from"./components/addresses/AddressCountrySelector";export*from"./components/addresses/AddressField";export*from"./components/addresses/AddressInput";export*from"./components/addresses/AddressStateSelector";export*from"./components/addresses/AddressesContainer";export*from"./components/addresses/AddressesEmpty";export*from"./components/addresses/BillingAddressContainer";export*from"./components/addresses/BillingAddressForm";export*from"./components/addresses/SaveAddressesButton";export*from"./components/addresses/ShippingAddressContainer";export*from"./components/addresses/ShippingAddressForm";export*from"./components/auth/CommerceLayer";export*from"./components/customers/CustomerAddressForm";export*from"./components/customers/CustomerContainer";export*from"./components/customers/CustomerField";export*from"./components/customers/CustomerInput";export*from"./components/customers/SaveCustomerButton";export*from"./components/gift_cards/GiftCard";export*from"./components/gift_cards/GiftCardContainer";export*from"./components/gift_cards/GiftCardCurrencySelector";export*from"./components/gift_cards/GiftCardInput";export*from"./components/gift_cards/GiftCardOrCouponCode";export*from"./components/gift_cards/GiftCardOrCouponForm";export*from"./components/gift_cards/GiftCardOrCouponInput";export*from"./components/gift_cards/GiftCardOrCouponRemoveButton";export*from"./components/gift_cards/GiftCardOrCouponSubmit";export*from"./components/in_stock_subscriptions/InStockSubscriptionsContainer";export*from"./components/in_stock_subscriptions/InStockSubscriptionButton";export*from"./components/line_items/LineItemsContainer";export*from"./components/line_items/LineItem";export*from"./components/line_items/LineItemAmount";export*from"./components/line_items/LineItemCode";export*from"./components/line_items/LineItemField";export*from"./components/line_items/LineItemImage";export*from"./components/line_items/LineItemName";export*from"./components/line_items/LineItemOption";export*from"./components/line_items/LineItemOptions";export*from"./components/line_items/LineItemQuantity";export*from"./components/line_items/LineItemRemoveLink";export*from"./components/line_items/LineItemsCount";export*from"./components/line_items/LineItemsEmpty";export*from"./components/orders/AddToCartButton";export*from"./components/orders/AdjustmentAmount";export*from"./components/orders/CartLink";export*from"./components/orders/CheckoutLink";export*from"./components/orders/DiscountAmount";export*from"./components/orders/GiftCardAmount";export*from"./components/orders/OrderContainer";export*from"./components/orders/OrderList";export*from"./components/orders/OrderListEmpty";export*from"./components/orders/OrderListRow";export*from"./components/orders/OrderNumber";export*from"./components/orders/OrderStorage";export*from"./components/orders/PaymentMethodAmount";export*from"./components/orders/PlaceOrderButton";export*from"./components/orders/PlaceOrderContainer";export*from"./components/orders/PrivacyAndTermsCheckbox";export*from"./components/orders/ShippingAmount";export*from"./components/orders/SubTotalAmount";export*from"./components/orders/TaxesAmount";export*from"./components/orders/TotalAmount";export*from"./components/parcels/ParcelField";export*from"./components/parcels/ParcelLineItem";export*from"./components/parcels/ParcelLineItemField";export*from"./components/parcels/ParcelLineItemsCount";export*from"./components/parcels/Parcels";export*from"./components/parcels/ParcelsCount";export*from"./components/payment_methods/PaymentMethod";export*from"./components/payment_methods/PaymentMethodName";export*from"./components/payment_methods/PaymentMethodPrice";export*from"./components/payment_methods/PaymentMethodRadioButton";export*from"./components/payment_methods/PaymentMethodsContainer";export*from"./components/payment_source/PaymentSource";export*from"./components/payment_source/PaymentSourceBrandIcon";export*from"./components/payment_source/PaymentSourceBrandName";export*from"./components/payment_source/PaymentSourceDetail";export*from"./components/payment_source/PaymentSourceEditButton";export*from"./components/prices/Price";export*from"./components/prices/PricesContainer";export*from"./components/shipments/Shipment";export*from"./components/shipments/ShipmentField";export*from"./components/shipments/ShipmentsContainer";export*from"./components/shipments/ShipmentsCount";export*from"./components/shipping_methods/ShippingMethod";export*from"./components/shipping_methods/ShippingMethodName";export*from"./components/shipping_methods/ShippingMethodPrice";export*from"./components/shipping_methods/ShippingMethodRadioButton";export*from"./components/skus/AvailabilityContainer";export*from"./components/skus/AvailabilityTemplate";export*from"./components/skus/DeliveryLeadTime";export*from"./components/skus/SkuField";export*from"./components/skus/SkuList";export*from"./components/skus/SkuListsContainer";export*from"./components/skus/Skus";export*from"./components/skus/SkusContainer";export*from"./components/stock_transfers/StockTransfer";export*from"./components/stock_transfers/StockTransferField";export*from"./typings/errors";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type CommerceLayerConfig } from '../context/CommerceLayerContext';
|
|
2
|
+
import { type BaseAction } from '../typings/index';
|
|
3
|
+
import { type Dispatch } from 'react';
|
|
4
|
+
import type { BaseError } from '../typings/errors';
|
|
5
|
+
type InStockSubscriptionActionType = 'setErrors';
|
|
6
|
+
type InStockSubscriptionAction = BaseAction<InStockSubscriptionActionType, InStockSubscriptionState>;
|
|
7
|
+
export interface InStockSubscriptionState {
|
|
8
|
+
errors?: BaseError[];
|
|
9
|
+
}
|
|
10
|
+
export declare const inStockSubscriptionInitialState: InStockSubscriptionState;
|
|
11
|
+
interface TSetInStockSubscriptionParams {
|
|
12
|
+
/**
|
|
13
|
+
* Commerce Layer config
|
|
14
|
+
*/
|
|
15
|
+
config?: CommerceLayerConfig;
|
|
16
|
+
/**
|
|
17
|
+
* Customer email
|
|
18
|
+
*/
|
|
19
|
+
customerEmail?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Sku code
|
|
22
|
+
*/
|
|
23
|
+
skuCode: string;
|
|
24
|
+
/**
|
|
25
|
+
* Dispatch function
|
|
26
|
+
*/
|
|
27
|
+
dispatch?: Dispatch<InStockSubscriptionAction>;
|
|
28
|
+
}
|
|
29
|
+
export declare function setInStockSubscription<T extends TSetInStockSubscriptionParams>({ config, customerEmail, skuCode, dispatch }: T): Promise<{
|
|
30
|
+
success: boolean;
|
|
31
|
+
}>;
|
|
32
|
+
export default function inStockSubscriptionReducer(state: InStockSubscriptionState, reducer: InStockSubscriptionAction): InStockSubscriptionState;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import baseReducer from"../utils/baseReducer";import getSdk from"../utils/getSdk";import getErrors from"../utils/getErrors";const actionType=["setErrors"];export const inStockSubscriptionInitialState={errors:[]};export async function setInStockSubscription({config,customerEmail,skuCode,dispatch}){try{if(config==null)throw new Error("Access token and endpoint is required");const sdk=getSdk(config),attributes={sku_code:skuCode};return customerEmail!=null&&(attributes.customer_email=customerEmail),await sdk.in_stock_subscriptions.create(attributes),{success:!0}}catch(error){const errors=getErrors({error,resource:"in_stock_subscriptions"});return dispatch?.({type:"setErrors",payload:{errors}}),{success:!1}}}export default function inStockSubscriptionReducer(state,reducer){return baseReducer(state,reducer,actionType)}
|
|
@@ -26,7 +26,7 @@ export type GetLineItems = (params: GetLineItemsParams) => void;
|
|
|
26
26
|
export interface LineItemPayload {
|
|
27
27
|
loading?: boolean;
|
|
28
28
|
loader?: LoaderType;
|
|
29
|
-
lineItems?: LineItem[];
|
|
29
|
+
lineItems?: LineItem[] | null;
|
|
30
30
|
errors?: BaseError[];
|
|
31
31
|
}
|
|
32
32
|
export interface LineItemState extends LineItemPayload {
|
|
@@ -11,7 +11,7 @@ import { type Dispatch, type MutableRefObject } from 'react';
|
|
|
11
11
|
import { type CheckoutComConfig } from '../components/payment_source/CheckoutComPayment';
|
|
12
12
|
import { type ExternalPaymentConfig } from '../components/payment_source/ExternalPayment';
|
|
13
13
|
import { type ResourceKeys } from '../utils/getPaymentAttributes';
|
|
14
|
-
export type PaymentSourceType =
|
|
14
|
+
export type PaymentSourceType = Order['payment_source'];
|
|
15
15
|
interface Card {
|
|
16
16
|
type: string;
|
|
17
17
|
brand: string;
|
|
@@ -62,12 +62,12 @@ export type PaymentMethodActionType = 'setErrors' | 'setPaymentMethods' | 'setPa
|
|
|
62
62
|
export type PaymentRef = MutableRefObject<null | HTMLFormElement>;
|
|
63
63
|
export interface PaymentMethodActionPayload {
|
|
64
64
|
errors: BaseError[];
|
|
65
|
-
paymentMethods: PaymentMethod[];
|
|
65
|
+
paymentMethods: PaymentMethod[] | null;
|
|
66
66
|
currentPaymentMethodType: PaymentResource;
|
|
67
67
|
currentPaymentMethodId: string;
|
|
68
68
|
currentPaymentMethodRef: PaymentRef;
|
|
69
69
|
config: PaymentMethodConfig;
|
|
70
|
-
paymentSource:
|
|
70
|
+
paymentSource: Order['payment_source'] | null;
|
|
71
71
|
loading: boolean;
|
|
72
72
|
}
|
|
73
73
|
export declare function setLoading({ loading, dispatch }: {
|
|
@@ -115,7 +115,7 @@ export type SetPaymentSourceResponse = {
|
|
|
115
115
|
order: Order;
|
|
116
116
|
paymentSource: PaymentSourceTypes;
|
|
117
117
|
} | null;
|
|
118
|
-
export
|
|
118
|
+
export interface SetPaymentSourceParams extends Omit<PaymentMethodState, 'config'> {
|
|
119
119
|
config?: CommerceLayerConfig;
|
|
120
120
|
dispatch?: Dispatch<PaymentMethodAction>;
|
|
121
121
|
getOrder?: getOrderContext;
|
|
@@ -125,8 +125,8 @@ export type SetPaymentSource = (args: {
|
|
|
125
125
|
paymentSourceId?: string;
|
|
126
126
|
customerPaymentSourceId?: string;
|
|
127
127
|
updateOrder?: typeof updateOrder;
|
|
128
|
-
}
|
|
129
|
-
export declare
|
|
128
|
+
}
|
|
129
|
+
export declare function setPaymentSource({ config, dispatch, getOrder, attributes, order, paymentResource, customerPaymentSourceId, paymentSourceId, updateOrder, errors: currentErrors }: SetPaymentSourceParams): Promise<PaymentSourceType | undefined | null>;
|
|
130
130
|
export type UpdatePaymentSource = (args: {
|
|
131
131
|
id: string;
|
|
132
132
|
attributes: Record<string, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import baseReducer from"../utils/baseReducer";import getErrors,{setErrors}from"../utils/getErrors";import getSdk from"../utils/getSdk";import{snakeToCamelCase}from"../utils/snakeToCamelCase";import{replace}from"../utils/replace";import{pick}from"../utils/pick";export function setLoading({loading,dispatch}){dispatch&&dispatch({type:"setLoading",payload:{loading}})}export const setPaymentRef=({ref,dispatch})=>{ref&&dispatch&&dispatch({type:"setPaymentRef",payload:{currentPaymentMethodRef:ref}})},paymentMethodInitialState={errors:[],paymentMethods:void 0},setPaymentMethodErrors=(errors,dispatch)=>{dispatch&&dispatch({type:"setErrors",payload:{errors}})},getPaymentMethods=async({order,dispatch})=>{const paymentMethods=order.available_payment_methods,paymentMethod=order.payment_method,paymentSource=order.payment_source;dispatch({type:"setPaymentMethods",payload:{paymentMethods,currentPaymentMethodId:paymentMethod?.id,currentPaymentMethodType:paymentMethod?.payment_source_type,paymentSource}})};export async function setPaymentMethod({config,dispatch,order,paymentMethodId,updateOrder,setOrderErrors,paymentResource}){let response={success:!1};try{if(config&&order&&dispatch&&paymentResource){localStorage.removeItem("_save_payment_source_to_customer_wallet");const attributes={payment_method:getSdk(config).payment_methods.relationship(paymentMethodId)};updateOrder!=null&&(response=await updateOrder({id:order.id,attributes})),dispatch({type:"setPaymentMethods",payload:{currentPaymentMethodId:paymentMethodId,currentPaymentMethodType:paymentResource,errors:[]}}),setOrderErrors&&setOrderErrors([])}return response}catch(error){const errors=getErrors({error,resource:"orders",field:paymentResource});return console.error("Set payment method",errors),response}}export
|
|
1
|
+
import baseReducer from"../utils/baseReducer";import getErrors,{setErrors}from"../utils/getErrors";import getSdk from"../utils/getSdk";import{snakeToCamelCase}from"../utils/snakeToCamelCase";import{replace}from"../utils/replace";import{pick}from"../utils/pick";export function setLoading({loading,dispatch}){dispatch&&dispatch({type:"setLoading",payload:{loading}})}export const setPaymentRef=({ref,dispatch})=>{ref&&dispatch&&dispatch({type:"setPaymentRef",payload:{currentPaymentMethodRef:ref}})},paymentMethodInitialState={errors:[],paymentMethods:void 0},setPaymentMethodErrors=(errors,dispatch)=>{dispatch&&dispatch({type:"setErrors",payload:{errors}})},getPaymentMethods=async({order,dispatch})=>{const paymentMethods=order.available_payment_methods,paymentMethod=order.payment_method,paymentSource=order.payment_source;dispatch({type:"setPaymentMethods",payload:{paymentMethods,currentPaymentMethodId:paymentMethod?.id,currentPaymentMethodType:paymentMethod?.payment_source_type,paymentSource}})};export async function setPaymentMethod({config,dispatch,order,paymentMethodId,updateOrder,setOrderErrors,paymentResource}){let response={success:!1};try{if(config&&order&&dispatch&&paymentResource){localStorage.removeItem("_save_payment_source_to_customer_wallet");const attributes={payment_method:getSdk(config).payment_methods.relationship(paymentMethodId)};updateOrder!=null&&(response=await updateOrder({id:order.id,attributes})),dispatch({type:"setPaymentMethods",payload:{currentPaymentMethodId:paymentMethodId,currentPaymentMethodType:paymentResource,errors:[]}}),setOrderErrors&&setOrderErrors([])}return response}catch(error){const errors=getErrors({error,resource:"orders",field:paymentResource});return console.error("Set payment method",errors),response}}export async function setPaymentSource({config,dispatch,getOrder,attributes,order,paymentResource,customerPaymentSourceId,paymentSourceId,updateOrder,errors:currentErrors}){try{if(config&&order){let paymentSource;const sdk=getSdk(config);if(customerPaymentSourceId)updateOrder&&await updateOrder({id:order.id,attributes:{_customer_payment_source_id:customerPaymentSourceId}});else{if(paymentSourceId){const attrs={id:paymentSourceId,...attributes};paymentSource=attributes!=null?await sdk[paymentResource].update(attrs):await sdk[paymentResource].retrieve(paymentSourceId)}else{const attrs={...attributes,order:sdk.orders.relationship(order.id)};paymentSource=await sdk[paymentResource].create(attrs)}return getOrder&&await getOrder(order.id),dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource,errors:[]}}),paymentSource}}}catch(error){const errors=getErrors({error,resource:"payment_methods",field:paymentResource});console.error("Set payment source:",errors),dispatch&&setErrors({currentErrors,newErrors:errors,dispatch})}}export const updatePaymentSource=async({id,attributes,config,dispatch,paymentResource})=>{if(config)try{const paymentSource=await getSdk(config)[paymentResource].update({id,...attributes});dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource}})}catch(err){console.error("Update payment source:",err)}},destroyPaymentSource=async({paymentSourceId,paymentResource,dispatch})=>{paymentSourceId&&paymentResource&&dispatch&&dispatch({type:"setPaymentSource",payload:{paymentSource:void 0}})},setPaymentMethodConfig=(config,dispatch)=>{dispatch({type:"setPaymentMethodConfig",payload:{config}})};export function getPaymentConfig(paymentResource,config){const resourceKeys=replace(replace(paymentResource,"payments","payment"),"transfers","transfer"),resource=snakeToCamelCase(resourceKeys);return pick(config,[resource])}const type=["setErrors","setPaymentMethodConfig","setPaymentMethods","setPaymentSource","setPaymentRef","setLoading"],paymentMethodReducer=(state,reducer)=>baseReducer(state,reducer,type);export default paymentMethodReducer;
|
|
@@ -48,9 +48,7 @@ interface TSetPlaceOrderParams {
|
|
|
48
48
|
order?: Order;
|
|
49
49
|
state?: PlaceOrderState;
|
|
50
50
|
setOrderErrors?: (errors: BaseError[]) => void;
|
|
51
|
-
paymentSource?: PaymentSourceType
|
|
52
|
-
approval_url?: string;
|
|
53
|
-
};
|
|
51
|
+
paymentSource?: PaymentSourceType;
|
|
54
52
|
include?: string[];
|
|
55
53
|
setOrder?: (order: Order) => void;
|
|
56
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import baseReducer from"../utils/baseReducer";import isEmpty from"lodash/isEmpty";import{isDoNotShip,shipmentsFilled}from"../utils/shipments";import{saveBillingAddress,saveShippingAddress,saveToWallet}from"../utils/customerOrderOptions";import getSdk from"../utils/getSdk";import getErrors from"../utils/getErrors";export function setButtonRef(ref,dispatch){ref?.current!=null&&dispatch({type:"setButtonRef",payload:{placeOrderButtonRef:ref}})}export const placeOrderInitialState={errors:[],isPermitted:!1};export function setPlaceOrderErrors(errors,dispatch){dispatch&&dispatch({type:"setErrors",payload:{errors}})}export function placeOrderPermitted({config,order,dispatch,options}){if(order&&config){let isPermitted=!0;order.privacy_url&&order.terms_url&&(isPermitted=localStorage.getItem("privacy-terms")==="true");const billingAddress=order.billing_address,shippingAddress=order.shipping_address,doNotShip=isDoNotShip(order.line_items),shipments=order.shipments,shipment=shipments&&shipmentsFilled(shipments),paymentMethod=order.payment_method,paymentSource=order.payment_source;order.total_amount_with_taxes_cents!==0&&isEmpty(paymentMethod?.id)&&(isPermitted=!1),isEmpty(billingAddress)&&(isPermitted=!1),isEmpty(shippingAddress)&&!doNotShip&&(isPermitted=!1),!isEmpty(shipments)&&!shipment&&(isPermitted=!1),paymentSource?.mismatched_amounts&&(isPermitted=!1),dispatch({type:"setPlaceOrderPermitted",payload:{isPermitted,paymentType:paymentMethod?.payment_source_type,paymentSecret:paymentSource?.client_secret,paymentId:paymentSource?.options?.id,paymentSource,options}})}}export async function setPlaceOrder({state,order,config,setOrderErrors,paymentSource,setOrder,include}){const response={placed:!1};if(state&&config&&order){const sdk=getSdk(config),{options,paymentType}=state;try{if(paymentType==="paypal_payments"&&paymentSource){if(!options?.paypalPayerId&&paymentSource?.approval_url)return window.location.href=paymentSource?.approval_url,response;await sdk[paymentType].update({id:paymentSource.id,paypal_payer_id:options?.paypalPayerId})}if(paymentType==="checkout_com_payments"&&paymentSource&&options?.checkoutCom?.session_id){const payment=await sdk[paymentType].update({id:paymentSource.id,_details:!0,session_id:options?.checkoutCom?.session_id});if(payment?.payment_response?.status!=="Authorized"){const[action]=payment?.payment_response?.actions||[""];throw{errors:[{code:"PAYMENT_NOT_APPROVED_FOR_EXECUTION",message:action?.response_summary,resource:"orders",field:"checkout_com_payments"}]}}}const updateAttributes={id:order.id,_place:!0};switch(saveBillingAddress()&&await sdk.orders.update({id:order.id,_save_billing_address_to_customer_address_book:!0}),saveShippingAddress()&&await sdk.orders.update({id:order.id,_save_shipping_address_to_customer_address_book:!0}),paymentType){case"braintree_payments":{saveToWallet()&&await sdk.orders.update({id:order.id,_save_payment_source_to_customer_wallet:!0});const orderUpdated=await sdk.orders.update(updateAttributes,{include});return setOrder&&setOrder(orderUpdated),setOrderErrors&&setOrderErrors([]),{placed:!0,order:orderUpdated}}default:{const orderUpdated=await sdk.orders.update(updateAttributes,{include});return setOrder&&setOrder(orderUpdated),saveToWallet()&&await sdk.orders.update({id:order.id,_save_payment_source_to_customer_wallet:!0}),setOrderErrors&&setOrderErrors([]),{placed:!0,order:orderUpdated}}}}catch(error){const errors=getErrors({error,resource:"orders",field:paymentType});return setOrderErrors&&setOrderErrors(errors),{...response,errors}}}return response}const type=["setErrors","setPlaceOrderPermitted","setButtonRef"],placeOrderReducer=(state,reducer)=>baseReducer(state,reducer,type);export default placeOrderReducer;
|
|
1
|
+
import baseReducer from"../utils/baseReducer";import isEmpty from"lodash/isEmpty";import{isDoNotShip,shipmentsFilled}from"../utils/shipments";import{saveBillingAddress,saveShippingAddress,saveToWallet}from"../utils/customerOrderOptions";import getSdk from"../utils/getSdk";import getErrors from"../utils/getErrors";export function setButtonRef(ref,dispatch){ref?.current!=null&&dispatch({type:"setButtonRef",payload:{placeOrderButtonRef:ref}})}export const placeOrderInitialState={errors:[],isPermitted:!1};export function setPlaceOrderErrors(errors,dispatch){dispatch&&dispatch({type:"setErrors",payload:{errors}})}export function placeOrderPermitted({config,order,dispatch,options}){if(order&&config){let isPermitted=!0;order.privacy_url&&order.terms_url&&(isPermitted=localStorage.getItem("privacy-terms")==="true");const billingAddress=order.billing_address,shippingAddress=order.shipping_address,doNotShip=isDoNotShip(order.line_items),shipments=order.shipments,shipment=shipments&&shipmentsFilled(shipments),paymentMethod=order.payment_method,paymentSource=order.payment_source;order.total_amount_with_taxes_cents!==0&&isEmpty(paymentMethod?.id)&&(isPermitted=!1),isEmpty(billingAddress)&&(isPermitted=!1),isEmpty(shippingAddress)&&!doNotShip&&(isPermitted=!1),!isEmpty(shipments)&&!shipment&&(isPermitted=!1),paymentSource?.mismatched_amounts&&(isPermitted=!1),dispatch({type:"setPlaceOrderPermitted",payload:{isPermitted,paymentType:paymentMethod?.payment_source_type,paymentSecret:paymentSource?.client_secret,paymentId:paymentSource?.options?.id,paymentSource,options}})}}export async function setPlaceOrder({state,order,config,setOrderErrors,paymentSource,setOrder,include}){const response={placed:!1};if(state&&config&&order){const sdk=getSdk(config),{options,paymentType}=state;try{if(paymentType==="paypal_payments"&&paymentSource?.type==="paypal_payments"){if(!options?.paypalPayerId&&paymentSource?.approval_url)return window.location.href=paymentSource?.approval_url,response;await sdk[paymentType].update({id:paymentSource.id,paypal_payer_id:options?.paypalPayerId})}if(paymentType==="checkout_com_payments"&&paymentSource&&options?.checkoutCom?.session_id){const payment=await sdk[paymentType].update({id:paymentSource.id,_details:!0,session_id:options?.checkoutCom?.session_id});if(payment?.payment_response?.status!=="Authorized"){const[action]=payment?.payment_response?.actions||[""];throw{errors:[{code:"PAYMENT_NOT_APPROVED_FOR_EXECUTION",message:action?.response_summary,resource:"orders",field:"checkout_com_payments"}]}}}const updateAttributes={id:order.id,_place:!0};switch(saveBillingAddress()&&await sdk.orders.update({id:order.id,_save_billing_address_to_customer_address_book:!0}),saveShippingAddress()&&await sdk.orders.update({id:order.id,_save_shipping_address_to_customer_address_book:!0}),paymentType){case"braintree_payments":{saveToWallet()&&await sdk.orders.update({id:order.id,_save_payment_source_to_customer_wallet:!0});const orderUpdated=await sdk.orders.update(updateAttributes,{include});return setOrder&&setOrder(orderUpdated),setOrderErrors&&setOrderErrors([]),{placed:!0,order:orderUpdated}}default:{const orderUpdated=await sdk.orders.update(updateAttributes,{include});return setOrder&&setOrder(orderUpdated),saveToWallet()&&await sdk.orders.update({id:order.id,_save_payment_source_to_customer_wallet:!0}),setOrderErrors&&setOrderErrors([]),{placed:!0,order:orderUpdated}}}}catch(error){const errors=getErrors({error,resource:"orders",field:paymentType});return setOrderErrors&&setOrderErrors(errors),{...response,errors}}}return response}const type=["setErrors","setPlaceOrderPermitted","setButtonRef"],placeOrderReducer=(state,reducer)=>baseReducer(state,reducer,type);export default placeOrderReducer;
|
|
@@ -9,7 +9,7 @@ export type ShipmentLineItem = LineItem & {
|
|
|
9
9
|
};
|
|
10
10
|
export interface ShipmentActionPayload {
|
|
11
11
|
errors: BaseError[];
|
|
12
|
-
shipments: Shipment[];
|
|
12
|
+
shipments: Shipment[] | null;
|
|
13
13
|
deliveryLeadTimes: DeliveryLeadTime[];
|
|
14
14
|
}
|
|
15
15
|
export type ShipmentState = Partial<ShipmentActionPayload>;
|
|
@@ -5,7 +5,7 @@ type BillingAddressController = (params: {
|
|
|
5
5
|
billing_address?: AddressCreate;
|
|
6
6
|
billingAddressId?: string;
|
|
7
7
|
errors?: BaseError[];
|
|
8
|
-
requiresBillingInfo?: boolean;
|
|
8
|
+
requiresBillingInfo?: boolean | null;
|
|
9
9
|
}) => boolean;
|
|
10
10
|
export declare const billingAddressController: BillingAddressController;
|
|
11
11
|
type ShippingAddressController = (params: {
|
|
@@ -20,7 +20,7 @@ type CountryLockController = (params: {
|
|
|
20
20
|
addresses?: Address[] | null;
|
|
21
21
|
billing_address?: TCustomerAddress;
|
|
22
22
|
billingAddressId?: string;
|
|
23
|
-
countryCodeLock?: string;
|
|
23
|
+
countryCodeLock?: string | null;
|
|
24
24
|
shipToDifferentAddress?: boolean;
|
|
25
25
|
shipping_address?: AddressCreate;
|
|
26
26
|
shippingAddressId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import getSdk from"./getSdk";const availablePaymentMethods=["stripe_payments"];export function getAvailableExpressPayments(paymentMethods){return paymentMethods.filter(payment=>payment.payment_source_type?availablePaymentMethods.includes(payment.payment_source_type):!1)}export async function setExpressFakeAddress({orderId,config,address,email}){const params={include:["shipments.available_shipping_methods"]},sdk=getSdk(config),fakeAddress=await sdk.addresses.create(address),resource={id:orderId,billing_address:sdk.addresses.relationship(fakeAddress.id),_shipping_address_same_as_billing:!0};return email!=null&&(resource.customer_email=email),await sdk.orders.update(resource,params),await sdk.orders.retrieve(orderId,params)}export function getExpressShippingMethods(order){const isSingleShipment=order?.shipments?.length===1,shippingMethods=order?.shipments?.map(shipment=>shipment.available_shipping_methods);if(isSingleShipment)return shippingMethods==null?null:shippingMethods.flat().map(method=>({id:method?.id??"",label:method?.name??"",amount:method?.price_amount_for_shipment_cents??0,detail:""}));{if(shippingMethods==null)return null;const shippingOptionsAmount=[];return shippingMethods.forEach(methods=>{if(methods!=null){const[firstMethod]=methods;firstMethod!=null&&shippingOptionsAmount.push(firstMethod.price_amount_for_shipment_cents??0)}}),[{id:"shipping",label:"Shipping",amount:shippingOptionsAmount.reduce((a,b)=>a+b,0),detail:""}]}}export async function setExpressShippingMethod({config,orderId,selectFirst=!0,selectedShippingMethodId,params}){const sdk=getSdk(config),order=await sdk.orders.retrieve(orderId,params),shippingMethods=getExpressShippingMethods(order);if(order?.shipments==null)throw new Error("No shipments found");const isSingleShipment=order.shipments.length===1,[shipmentId]=order.shipments.map(shipment=>shipment.id);if(shipmentId==null)throw new Error("No shipment found");if(shippingMethods==null||shippingMethods?.length===0)throw new Error("No shipping methods found");if(isSingleShipment)if(selectFirst){const[firstShippingMethodId]=shippingMethods.map(method=>method.id);firstShippingMethodId!=null&&await sdk.shipments.update({id:shipmentId,shipping_method:sdk.shipping_methods.relationship(firstShippingMethodId)})}else selectedShippingMethodId!=null&&await sdk.shipments.update({id:shipmentId,shipping_method:sdk.shipping_methods.relationship(selectedShippingMethodId)});else for(const shipment of order?.shipments??[]){const[firstShippingMethodId]=shipment?.available_shipping_methods?.map(method=>method.id)??[];firstShippingMethodId!=null&&await sdk.shipments.update({id:shipment.id,shipping_method:sdk.shipping_methods.relationship(firstShippingMethodId)})}return await sdk.orders.retrieve(order.id,params)}export async function setExpressPlaceOrder({config,orderId,paymentResource,paymentSourceId}){const sdk=getSdk(config);return await sdk.orders.retrieve(orderId,{include:["shipments.shipping_method","payment_source","payment_method"]}),await sdk[paymentResource].update({id:paymentSourceId,order:sdk.orders.relationship(orderId)}),await sdk.orders.update({id:orderId,payment_source:sdk[paymentResource].relationship(paymentSourceId)}),await sdk.orders.update({id:orderId,_place:!0})}export function expressRedirectUrl({order,config:{accessToken,endpoint}}){if(accessToken==null)throw new Error("No access token found");if(endpoint==null)throw new Error("No endpoint found");const[slug]=endpoint.split(".commercelayer");if(slug==null)throw new Error("No slug found");const href=order?.checkout_url!=null?order?.checkout_url:`${slug}.commercelayer.app/checkout/${order.id}?accessToken=${accessToken}`;window.location.pathname.includes("/checkout")||window.location.pathname.includes(`/${order.id}`)?window.location.reload():window.location.href=href}
|
|
1
|
+
import getSdk from"./getSdk";const availablePaymentMethods=["stripe_payments"];export function getAvailableExpressPayments(paymentMethods){return paymentMethods.filter(payment=>payment.payment_source_type?availablePaymentMethods.includes(payment.payment_source_type):!1)}export async function setExpressFakeAddress({orderId,config,address,email}){const params={include:["shipments.available_shipping_methods"]},sdk=getSdk(config),fakeAddress=await sdk.addresses.create(address),resource={id:orderId,billing_address:sdk.addresses.relationship(fakeAddress.id),_shipping_address_same_as_billing:!0};return email!=null&&(resource.customer_email=email),await sdk.orders.update(resource,params),await sdk.orders.retrieve(orderId,params)}export function getExpressShippingMethods(order){const isSingleShipment=order?.shipments?.length===1,shippingMethods=order?.shipments?.map(shipment=>shipment.available_shipping_methods);if(isSingleShipment)return shippingMethods==null?null:shippingMethods.flat().map(method=>({id:method?.id??"",label:method?.name??"",amount:method?.price_amount_for_shipment_cents??0,detail:""}));{if(shippingMethods==null)return null;const shippingOptionsAmount=[];return shippingMethods.forEach(methods=>{if(methods!=null){const[firstMethod]=methods;firstMethod!=null&&shippingOptionsAmount.push(firstMethod.price_amount_for_shipment_cents??0)}}),[{id:"shipping",label:"Shipping",amount:shippingOptionsAmount.reduce((a,b)=>a+b,0),detail:""}]}}export async function setExpressShippingMethod({config,orderId,selectFirst=!0,selectedShippingMethodId,params}){const sdk=getSdk(config),order=await sdk.orders.retrieve(orderId,params),shippingMethods=getExpressShippingMethods(order);if(order?.shipments==null)throw new Error("No shipments found");const isSingleShipment=order.shipments.length===1,[shipmentId]=order.shipments.map(shipment=>shipment.id);if(shipmentId==null)throw new Error("No shipment found");if(shippingMethods==null||shippingMethods?.length===0)throw new Error("No shipping methods found");if(isSingleShipment)if(selectFirst){const[firstShippingMethodId]=shippingMethods.map(method=>method.id);firstShippingMethodId!=null&&await sdk.shipments.update({id:shipmentId,shipping_method:sdk.shipping_methods.relationship(firstShippingMethodId)})}else selectedShippingMethodId!=null&&await sdk.shipments.update({id:shipmentId,shipping_method:sdk.shipping_methods.relationship(selectedShippingMethodId)});else for(const shipment of order?.shipments??[]){const[firstShippingMethodId]=shipment?.available_shipping_methods?.map(method=>method.id)??[];firstShippingMethodId!=null&&await sdk.shipments.update({id:shipment.id,shipping_method:sdk.shipping_methods.relationship(firstShippingMethodId)})}return await sdk.orders.retrieve(order.id,params)}export async function setExpressPlaceOrder({config,orderId,paymentResource,paymentSourceId}){const sdk=getSdk(config);return await sdk.orders.retrieve(orderId,{include:["shipments.shipping_method","payment_source","payment_method"]}),await sdk[paymentResource].update({id:paymentSourceId,order:sdk.orders.relationship(orderId)}),await sdk.orders.update({id:orderId,payment_source:sdk[paymentResource].relationship(paymentSourceId)}),await sdk[paymentResource].update({id:paymentSourceId,_update:!0}),await sdk.orders.update({id:orderId,_place:!0})}export function expressRedirectUrl({order,config:{accessToken,endpoint}}){if(accessToken==null)throw new Error("No access token found");if(endpoint==null)throw new Error("No endpoint found");const[slug]=endpoint.split(".commercelayer");if(slug==null)throw new Error("No slug found");const href=order?.checkout_url!=null?order?.checkout_url:`${slug}.commercelayer.app/checkout/${order.id}?accessToken=${accessToken}`;window.location.pathname.includes("/checkout")||window.location.pathname.includes(`/${order.id}`)?window.location.reload():window.location.href=href}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function getLineItemsCount({lineItems,quantity=0,typeAccepted=["skus","gift_cards","bundles","adjustments"]}){return lineItems.filter(l=>typeAccepted.includes(l.item_type)&&l?.total_amount_cents
|
|
1
|
+
export default function getLineItemsCount({lineItems,quantity=0,typeAccepted=["skus","gift_cards","bundles","adjustments"]}){return lineItems.filter(l=>typeAccepted.includes(l.item_type)&&l?.total_amount_cents!=null&&l?.total_amount_cents>=0).forEach(l=>{l.quantity&&(quantity+=l.quantity)}),quantity}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type LineItem, type Shipment } from '@commercelayer/sdk';
|
|
2
2
|
export declare function shipmentsFilled(shipments: Shipment[]): boolean;
|
|
3
|
-
export declare function isDoNotShip(lineItems?: LineItem[]): boolean;
|
|
3
|
+
export declare function isDoNotShip(lineItems?: LineItem[] | null): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercelayer/react-components",
|
|
3
|
-
"version": "4.4.0-beta.
|
|
3
|
+
"version": "4.4.0-beta.6",
|
|
4
4
|
"description": "The Official Commerce Layer React Components",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/esm/index.js",
|
|
@@ -35,6 +35,10 @@
|
|
|
35
35
|
"require": "./lib/cjs/components/gift_cards/*.js",
|
|
36
36
|
"import": "./lib/esm/components/gift_cards/*.js"
|
|
37
37
|
},
|
|
38
|
+
"./in_stock_subscriptions/*": {
|
|
39
|
+
"require": "./lib/cjs/components/in_stock_subscriptions/*.js",
|
|
40
|
+
"import": "./lib/esm/components/in_stock_subscriptions/*.js"
|
|
41
|
+
},
|
|
38
42
|
"./hooks/*": {
|
|
39
43
|
"require": "./lib/cjs/hooks/*.js",
|
|
40
44
|
"import": "./lib/esm/hooks/*.js"
|
|
@@ -97,6 +101,9 @@
|
|
|
97
101
|
"gift_cards/*": [
|
|
98
102
|
"lib/esm/components/gift_cards/*.d.ts"
|
|
99
103
|
],
|
|
104
|
+
"in_stock_subscriptions/*": [
|
|
105
|
+
"lib/esm/components/in_stock_subscriptions/*.d.ts"
|
|
106
|
+
],
|
|
100
107
|
"hooks/*": [
|
|
101
108
|
"lib/esm/hooks/*.d.ts"
|
|
102
109
|
],
|
|
@@ -161,7 +168,7 @@
|
|
|
161
168
|
"@ac-dev/countries-service": "^1.2.0",
|
|
162
169
|
"@ac-dev/states-service": "^1.1.1",
|
|
163
170
|
"@adyen/adyen-web": "^5.40.0",
|
|
164
|
-
"@commercelayer/sdk": "^
|
|
171
|
+
"@commercelayer/sdk": "^5.0.0",
|
|
165
172
|
"@stripe/react-stripe-js": "^2.1.0",
|
|
166
173
|
"@stripe/stripe-js": "^1.52.1",
|
|
167
174
|
"axios": "^1.3.6",
|
|
@@ -180,9 +187,9 @@
|
|
|
180
187
|
"@testing-library/react": "^14.0.0",
|
|
181
188
|
"@types/braintree-web": "^3.75.23",
|
|
182
189
|
"@types/lodash": "^4.14.194",
|
|
183
|
-
"@types/node": "^18.
|
|
190
|
+
"@types/node": "^18.16.0",
|
|
184
191
|
"@types/prop-types": "^15.7.5",
|
|
185
|
-
"@types/react": "^18.0.
|
|
192
|
+
"@types/react": "^18.0.38",
|
|
186
193
|
"@types/react-table": "^7.7.14",
|
|
187
194
|
"@types/react-test-renderer": "^18.0.0",
|
|
188
195
|
"@types/react-window": "^1.8.5",
|