UNPKG

@liquidcommerceteam/elements-sdk

Version:

LiquidCommerce Elements SDK

68 lines (67 loc) 2.87 kB
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>; }