@fast-simon/storefront-kit
Version:
A comprehensive kit for developing storefronts with Fast Simon components, utilities, and React/Hydrogen support.
117 lines (116 loc) • 4.27 kB
TypeScript
export interface SessionToken {
start: number;
lastActive: number;
}
export declare const DELAYED_REPORT_DATA_KEY = "fastSimonDelayedReportData";
export declare const DELAYED_REPORT_PROMOTILE_DATA_KEY = "fastSimonDelayedReportPromoTileData";
export declare enum ReportingUpType {
popularSearchSeen = 1,
autocompleteProductSeen = 3,
searchPreformed = 4,
categorySearchSeen = 5,
relatedProductWidgetShown = 15,
popUpUsedQuickView = 13,
popUpUsedLookALike = 17,
lookAlikeProductSeen = 18,
collectionPreformed = 20,
cartVisited = 9,
searchPreformedNoResults = 8,
productAddedToCart = 9,
relatedProductClicked = 12,
hoverOnProduct = 42,
hoverOnProductVariant = 43,
promoTileClicked = 44,
landingPageSeen = 19,
landingPageProductClicked = 25,
collectionPreformedFromTurbolink = 46
}
export declare function getUserSession(): string | null;
export declare function setUserSession(key: string): void;
export declare function getSession(): SessionToken;
export declare const FastSimonReporting: {
prepareProductSeenFromSerpData({ productId, productPosition, query, sortBy, pageNumber }: PrepareProductSeenFromSerpDataProps): void;
prepareProductSeenFromCollectionData({ productId, productPosition, sortBy, pageNumber, categoryId, categoryName }: PrepareProductSeenFromCollectionDataProps): void;
prepareProductSeenFromAutocompleteData({ productId, query, sku }: PrepareProductSeenFromAutocompleteDataProps): void;
prepareCollectionSeenFromAutocompleteData({ collectionId, query }: PrepareCollectionSeenFromAutocompleteDataProps): void;
prepareProductAddedToCartData(props: PrepareProductAddedToCartFromCollectionDataProps | PrepareProductAddedToCartFromSerpDataProps): void;
preparePromotileClickedData(props: PreparePromoTileClickedFromSerpDataProps | PreparePromoTileClickedFromCollectionDataProps): void;
preparePopularSeenData(props: PreparePopularSeenDataProps): void;
prepareProductSeenFromRecommendations(props: PrepareProductSeenFromRecommendationsProps): void;
prepareWidgetProductsShown(props: PrepareWidgetProductsShownProps): void;
};
export interface PrepareWidgetProductsShownProps {
widgetId: string;
productIds: string[];
}
export interface PrepareProductSeenFromRecommendationsProps {
productId: string;
productPosition: number;
widgetId: string;
}
export interface PreparePopularSeenDataProps {
query: string;
popularQuery: string;
}
export interface PreparePromoTileClickedDataBaseProps {
id: string;
image: string;
link: string;
title: string;
position: number;
sortBy: string;
pageNumber: number;
}
export interface PreparePromoTileClickedFromSerpDataProps extends PreparePromoTileClickedDataBaseProps {
query: string;
}
export interface PreparePromoTileClickedFromCollectionDataProps extends PreparePromoTileClickedDataBaseProps {
categoryId: string;
categoryName: string;
}
export interface PrepareProductAddedToCartDataBaseProps {
productId: string;
variantId: string;
productPosition: number;
}
export interface PrepareProductAddedToCartFromCollectionDataProps extends PrepareProductAddedToCartDataBaseProps {
categoryId: string;
categoryName: string;
}
export interface PrepareProductAddedToCartFromSerpDataProps extends PrepareProductAddedToCartDataBaseProps {
query: string;
}
export interface PrepareCollectionSeenFromAutocompleteDataProps {
collectionId: string;
query: string;
}
export interface PrepareProductSeenFromSerpDataProps {
productId: string;
productPosition: number;
query: string;
sortBy: string;
pageNumber: number;
}
export interface PrepareProductSeenFromCollectionDataProps {
productId: string;
productPosition: number;
sortBy: string;
pageNumber: number;
categoryId: string;
categoryName: string;
}
export interface PrepareProductSeenFromAutocompleteDataProps {
productId: string;
query: string;
sku: string;
}
export declare function prepareCartData(data: any, storeId: string, uuid: string): {
source: string;
store_id: string;
UUID: string;
st: string | null;
session: number;
cart_token: string;
cart: string;
l: any;
};