Wishlist SDK reference
Wishlist state, mutations and update events.
Import these public values from @upstorr/theme-sdk/v1. Do not import their internal source files.
addThemeWishlistItem
addThemeWishlistItem<TProduct = unknown>(productId: string): Promise<ThemeWishlist<TProduct> | null>
createThemeWishlistView
createThemeWishlistView<TProduct>(wishlist: ThemeWishlist<TProduct> | null | undefined): { readonly wishlist: ThemeWishlist<TProduct> | null; readonly items: import("@upstorr/theme-sdk/v1").ThemeWishlistItem<TProduct>[]; readonly itemCount: number; readonly isEmpty: boolean; }
fetchThemeWishlist
fetchThemeWishlist<TProduct = unknown>(): Promise<ThemeWishlist<TProduct> | null>
getThemeWishlistItems
getThemeWishlistItems<TProduct>(wishlist: ThemeWishlist<TProduct> | null | undefined): import("@upstorr/theme-sdk/v1").ThemeWishlistItem<TProduct>[]
removeThemeWishlistItem
removeThemeWishlistItem<TProduct = unknown>(productId: string): Promise<ThemeWishlist<TProduct> | null>
useThemeProductWishlist
useThemeProductWishlist(productId: string): { readonly isUpdating: boolean; readonly isAdded: boolean; readonly canAdd: boolean; readonly label: "Adding..." | "Added to wishlist" | "Add to wishlist"; readonly message: string | null; readonly add: () => Promise<void>; }
useThemeWishlist
useThemeWishlist<TProduct>(initialWishlist: ThemeWishlist<TProduct> | null): { readonly isSyncing: boolean; readonly showEmptyState: boolean; readonly removingProductId: string | null; readonly error: string | null; readonly removeItem: (productId: string) => Promise<void>; readonly wishlist: ThemeWishlist<TProduct> | null; readonly items: import("@upstorr/theme-sdk/v1").ThemeWishlistItem<TProduct>[]; readonly itemCount: number; readonly isEmpty: boolean; }
useThemeWishlistCartItem
useThemeWishlistCartItem<TVariant extends ThemeProductPurchaseVariant, TProduct extends ThemeProductPurchaseProduct<TVariant>>(product: TProduct): { readonly canAdd: boolean; readonly isUpdating: boolean; readonly isAdded: boolean; readonly label: "Adding..." | "Added to cart" | "Add to cart" | "Unavailable"; readonly message: string | null; readonly add: () => Promise<void>; }