UNPKG

@vendasta/store

Version:

Components and data for Store

65 lines (64 loc) 2.33 kB
import { Addon, AddonKey } from '@vendasta/marketplace-packages'; import { Package } from '../package-details/package'; import { Product, ProductWithParent } from '../shared/product'; export interface SalesPackage { formattedPrices: string; packageId: string; name: string; icon: string; productIds: string[]; products: SalesProduct[]; addonsWithNoParent: SalesAddon[]; totalAddons: number; activationStatus?: StatusNotificationItem; } export interface SalesProduct { formattedPrices: string; productId: string; name: string; icon: string; tagline: string; activationStatus?: StatusNotificationItem; editionId?: string; editionName?: string; addons: SalesAddon[]; parentInfo?: ProductParentInfo; } export interface ProductParentInfo { parentId: string; parentName: string; parentIconUrl: string; multipleActivations: boolean; } export interface SalesAddon { parentId: string; addonId: string; name: string; icon: string; tagline: string; parentName: string; parentIcon: string; multipleActivations: boolean; activationStatus?: StatusNotificationItem; } export interface PackageItemActivationStatus { packageItemId: string; status: ActivationStatus; } export declare enum ActivationStatus { SUCCESS = 0, WARNING = 1, ERROR = 2 } export interface StatusNotificationItem { icon: string; text: string; status: ActivationStatus; } export declare function buildSalesPackages(packages: Package[], products: Product[], addons: Addon[]): SalesPackage[]; export declare function buildSalesProducts(pkg: Package, products: Product[], addons: Addon[]): SalesProduct[]; export declare function coerceAddonsForAddonKeys(addons: Addon[], addonKeys: AddonKey[]): Addon[]; export declare function buildSalesAddonsWithNoParent(pkg: Package, products: Product[], addons: Addon[]): SalesAddon[]; export declare function buildSalesProductFromProduct(product: Product | ProductWithParent, addons: Addon[]): SalesProduct; export declare function addStatusesToSalesPackages(salesPackages: SalesPackage[], statuses: PackageItemActivationStatus[]): SalesPackage[]; export declare function addStatusesToSalesProduct(product: SalesProduct, statuses: PackageItemActivationStatus[]): SalesProduct;