umami-analytics-react
Version:
React hooks (useUmami, useUmamiView) and UmamiProvider for seamless Umami analytics integration, supporting page views, custom event tracking, and session identification.
29 lines • 1.2 kB
TypeScript
export interface UmamiRegisterConfig {
websiteId: string;
scriptSrc?: string;
scriptAttributes?: Record<string, string | number | boolean | undefined | null>;
}
export type UmamiPayload<T = any> = Record<string, T>;
type SimplePayloadSignature = <T>(payload: UmamiPayload<T>) => void;
type TrackOnlySignature = <T>(eventName?: string, payload?: UmamiPayload<T>) => void;
export type ViewOnlySignature = <T>(payload?: UmamiPayload<T>) => void;
export type MapperSignature = <T>(mapper: (props: Record<string, any>) => UmamiPayload<T>) => void;
type IdentifyWithUniqueIdSignature = <T>(uniqueId: string | number, payload?: UmamiPayload<T>) => void;
export interface Umami {
identify: SimplePayloadSignature & IdentifyWithUniqueIdSignature;
track: SimplePayloadSignature & TrackOnlySignature & MapperSignature;
}
export interface UmamiExtended extends Umami {
view: ViewOnlySignature & MapperSignature;
}
export interface EnhancedIdentifyPayload {
timezone: string;
timezoneOffset: number;
ect: string;
systemTheme: string;
prefersReducedMotion: boolean;
isTouchDevice: boolean;
zoomLevel: number;
}
export {};
//# sourceMappingURL=types.d.ts.map