UNPKG

shopperman

Version:

shopping cart ui for shopify stores

47 lines (46 loc) 1.72 kB
import { OmniStorage } from "omnistorage"; import { Product } from "../stores/product"; import { ShopifySettings } from "../shopify"; import { CartText } from "../components/cart/cart-interfaces"; import { CurrencyControlOptions, ElementAttributes } from "../stores"; /** * Product details that are not related to shopify */ export interface ProductEvaluation { quantityMin: number; quantityMax: number; precision?: number; attributes?: ElementAttributes; } /** Function to evaluate non-shopify product details */ export declare type ProductEvaluator = (product: Product) => ProductEvaluation; /** * Ecommerce shopify store options * - display multiple collections on a single page */ export interface EcommerceShopifyStoreOptions { /** Storage facility for cart items */ omniStorage: OmniStorage; /** Currency conversion control options */ currency: CurrencyControlOptions; /** Shopify store authentication settings */ shopify: ShopifySettings; /** Dom element in which to render the cart area */ cartArea: HTMLElement; /** Collections to load and display */ collections: { /** Collection identifier */ collectionId: string; /** Dom element in which to render this collection's product displays */ productsArea?: HTMLElement; }[]; /** Detailed options for the shopperman cart system */ cartSystem: { /** Whether or not to open the checkout url in a new window */ checkoutInNewWindow: boolean; /** Text labels throughout the cart system display */ cartText?: CartText; }; /** Function to evaluate non-shopify properties for each product */ evaluator: ProductEvaluator; }