shopperman
Version:
shopping cart ui for shopify stores
54 lines (42 loc) • 1.1 kB
text/typescript
import {Cart} from "../../stores/cart"
import {ScrollTracker} from "../../stores/scroll-tracker"
import {CheckoutMachineBase} from "../../ecommerce/checkout-machine-base"
import {CartPanelText} from "./panel/panel-interfaces"
export interface CartButtonText {
open: {
title: string
}
closed: {
title: string
}
}
/**
* Text labels to display throughout the system
*/
export interface CartText {
cartButtonText: CartButtonText
cartPanelText: CartPanelText
}
/**
* Props for the cart button component
*/
export interface CartButtonProps {
cartButtonText: CartButtonText
cart: Cart
onClick: (event: MouseEvent) => void
}
/**
* Props for the cart system component
*/
export interface CartSystemProps {
/** Cart store contains cart items */
cart: Cart
/** Checkout machine generates checkout url */
checkoutMachine: CheckoutMachineBase
/** Whether to open the checkout url in a new window */
checkoutInNewWindow: boolean
/** Keeps track of a scroll observable */
scrollTracker?: ScrollTracker
/** Display text to show throughout the cart */
cartText?: CartText
}