diff --git a/packages/use-analytics/index.d.ts b/packages/use-analytics/index.d.ts new file mode 100644 index 00000000..54aacf79 --- /dev/null +++ b/packages/use-analytics/index.d.ts @@ -0,0 +1,19 @@ +declare module 'use-analytics' { + import type { ComponentType, Context, FC, ReactNode } from 'react'; + import type { AnalyticsInstance } from 'analytics'; + + export function withAnalytics

(Component: ComponentType

): FC

; + + export function useAnalytics(): AnalyticsInstance; + export function useTrack(): AnalyticsInstance['track']; + export function usePage(): AnalyticsInstance['page']; + export function useIdentify(): AnalyticsInstance['identify']; + + export const AnalyticsConsumer: Context['Consumer']; + export const AnalyticsContext: Context; + + export function AnalyticsProvider(props: { + instance: AnalyticsInstance; + children: ReactNode; + }): JSX.Element; +} diff --git a/packages/use-analytics/package.json b/packages/use-analytics/package.json index 40f9cc24..6e97c899 100644 --- a/packages/use-analytics/package.json +++ b/packages/use-analytics/package.json @@ -10,6 +10,7 @@ "url": "git+https://github.com/DavidWells/analytics.git" }, "main": "dist/index.js", + "types": "index.d.ts", "module": "dist/index.modern.js", "source": "src/index.js", "engines": { @@ -27,14 +28,16 @@ "tiny-invariant": "^1.1.0" }, "peerDependencies": { - "react": ">=16" + "react": ">=16", + "analytics": "^0.5.2" }, "devDependencies": { "@babel/plugin-proposal-decorators": "^7.8.3", "babel-eslint": "^10.0.3" }, "files": [ - "dist" + "dist", + "index.d.ts" ], "keywords": [ "analytics",