cosmic-analytics
Version:
Lightweight analytics for Cosmic projects
57 lines (52 loc) • 1.7 kB
TypeScript
import * as react_jsx_runtime from 'react/jsx-runtime';
import React from 'react';
import { A as AnalyticsConfig, P as PageViewEvent } from './index-B31B8OmP.js';
interface CosmicAnalyticsProviderProps {
children: React.ReactNode;
config?: AnalyticsConfig;
}
/**
* Provider component for easy integration with Next.js layouts
*/
declare function CosmicAnalyticsProvider({ children, config }: CosmicAnalyticsProviderProps): react_jsx_runtime.JSX.Element;
declare class CosmicAnalytics {
private projectId;
private apiEndpoint;
private config;
private session;
private pageViewStart;
private isEnabled;
private queue;
private flushTimer;
constructor(config?: AnalyticsConfig);
private getProjectId;
private isDevelopmentMode;
private shouldEnableAnalytics;
private initializeSession;
private getStoredSession;
private isSessionValid;
private saveSession;
private setupEventListeners;
private startFlushTimer;
private stopFlushTimer;
private addToQueue;
private flush;
trackPageView(overrides?: Partial<PageViewEvent>): void;
trackPageExit(): void;
reset(): void;
disable(): void;
enable(): void;
}
/**
* Initialize the analytics instance
*/
declare function initAnalytics(config?: AnalyticsConfig): CosmicAnalytics;
/**
* Get the current analytics instance
*/
declare function getAnalytics(): CosmicAnalytics | null;
/**
* React hook for Cosmic Analytics with Next.js App Router
*/
declare function useCosmicAnalytics(config?: AnalyticsConfig): void;
export { CosmicAnalyticsProvider as C, CosmicAnalytics as a, getAnalytics as g, initAnalytics as i, useCosmicAnalytics as u };