UNPKG

@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
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; };