shopperman
Version:
shopping cart ui for shopify stores
45 lines (44 loc) • 1.41 kB
TypeScript
import { Component } from "preact";
import { CartSystemProps } from "./cart-interfaces";
/**
* Cart system component class
* - is a section element
* - takes as props a cart object, checkout machine, scroll tracker, etc
* - contains CartButton and CartPanel components, mediates their relationship
* - handles cart button click event to toggle cart panel open or closed
* - handles cart system scroll tracking
* - ultimately performs the checkout, using the cart panel checkout callback
* and checkout machine as tools
* - takes a cart text object and distributes the text labels to child
* components
*/
export declare class CartSystem extends Component<CartSystemProps, any> {
private disposers;
private readonly scrollTracker;
private readonly cartText;
/**
* Mount
*/
componentWillMount(): void;
/**
* Unmount
*/
componentWillUnmount(): void;
/**
* Perform checkout function
* - call the checkout machine to obtain checkout url
* - open the checkout url in a new window or same window
*/
private readonly performCheckout;
/**
* Handle cart button click
* - toggle the cart panel open or closed
*/
private readonly handleCartButtonClick;
/**
* Render
* - section element with scroll tracking
* - contains cart button and cart panel
*/
render(): JSX.Element;
}