@liquidcommerceteam/elements-sdk
Version:
LiquidCommerce Elements SDK
68 lines (67 loc) • 2.87 kB
TypeScript
import { BaseCommand } from '@/core/base-command.service';
import type { ICheckoutItemStore, ICheckoutStripeFormStatusStore } from '@/core/store';
import type { ICheckoutFulfillment, ICheckoutItem, ICheckoutRetailer } from '@/interfaces/cloud';
export declare function buildCheckoutItemStore(apiItem: ICheckoutItem, retailer: ICheckoutRetailer, fulfillment: ICheckoutFulfillment): ICheckoutItemStore;
export declare class CheckoutCommands extends BaseCommand {
private readonly themeProvider;
loadCheckout(): Promise<void>;
partialLoadCheckout(cartId?: string): Promise<void>;
toggleIsGift(): Promise<void>;
toggleBillingSameAsShipping(): Promise<void>;
toggleMarketingPreferences(fieldName: 'canEmail' | 'canSms'): Promise<void>;
getPaymentSession(): Promise<void>;
confirmPaymentSession(confirmationTokenId: string, setupIntentId: string): Promise<void>;
applyPromoCode(code: string): Promise<void>;
removePromoCode(): Promise<void>;
applyGiftCard(code?: string): Promise<void>;
removeGiftCard(code: string): Promise<void>;
updateCustomerInfo(fieldName: string, fieldValue: string): Promise<void>;
updateBillingInfo(fieldName: string, fieldValue: string): Promise<void>;
updateGiftInfo(fieldName: string, fieldValue: string): Promise<void>;
private validateAndUpdateFormStatus;
private validateCustomerInfo;
private validateGiftInfo;
private validateBillingInfo;
checkoutComplete(): Promise<void>;
prepareCheckout(): Promise<void>;
startPreparingCheckoutSubmit(): Promise<void>;
private dataForCheckoutPrepare;
rerenderCheckout(): void;
focusFirstInvalidField(): Promise<void>;
private getLocationFromAddress;
/**
* Build item update with conditional engraving
*/
private buildItemUpdate;
updateCheckoutItemQuantity(itemId: string, delta: number): Promise<void>;
/**
* Remove item - sync items + targeted cleanup + promo code
*/
removeItem(itemId: string): Promise<void>;
/**
* Update tips based on percentage selection
*/
updateTips(percentage: number): Promise<void>;
/**
* Update tip for individual fulfillment
*/
updateFulfillmentTip(fulfillmentId: string, tipAmount: number): Promise<void>;
/**
* Remove tip from fulfillment
*/
removeFulfillmentTip(fulfillmentId: string): Promise<void>;
/**
* Helper method to update store from checkout response
* (extracted from your existing loadCheckout method)
*/
private updateStoreFromCheckoutResponse;
/**
* Update Stripe form status
*/
updateStripeFormStatus(status: Partial<ICheckoutStripeFormStatusStore>): Promise<void>;
/**
* remove checkout error
*/
removeCheckoutError(): Promise<void>;
updateDeliveryInstructions(instructions: string): Promise<void>;
}