@ad-tracking-kits/react 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ import type { EventMap, Tracker } from "@ad-tracking-kits/core";
2
+ import { type PropsWithChildren } from "react";
3
+ export type TrackingProviderProps = PropsWithChildren<{
4
+ tracker: Tracker<any>;
5
+ }>;
6
+ export declare function TrackingProvider({ tracker, children }: TrackingProviderProps): import("react").FunctionComponentElement<import("react").ProviderProps<Tracker<any> | null>>;
7
+ /** Pass your custom event map to get typed custom events: `useTracker<MyEvents>()`. */
8
+ export declare function useTracker<TCustom extends EventMap = {}>(): Tracker<TCustom>;
9
+ export declare function useTrack<TCustom extends EventMap = {}>(): Tracker<TCustom>["track"];
10
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAIzF,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;CAAE,CAAC,CAAC;AAEjF,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,qBAAqB,gGAE5E;AAED,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,OAAO,SAAS,QAAQ,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAM5E;AAED,wBAAgB,QAAQ,CAAC,OAAO,SAAS,QAAQ,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAEnF"}
@@ -0,0 +1,17 @@
1
+ import { createContext, createElement, useContext } from "react";
2
+ const TrackerContext = createContext(null);
3
+ export function TrackingProvider({ tracker, children }) {
4
+ return createElement(TrackerContext.Provider, { value: tracker }, children);
5
+ }
6
+ /** Pass your custom event map to get typed custom events: `useTracker<MyEvents>()`. */
7
+ export function useTracker() {
8
+ const tracker = useContext(TrackerContext);
9
+ if (!tracker) {
10
+ throw new Error("[ad-tracking-kits/react] useTracker must be used inside <TrackingProvider>");
11
+ }
12
+ return tracker;
13
+ }
14
+ export function useTrack() {
15
+ return useTracker().track;
16
+ }
17
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAA0B,MAAM,OAAO,CAAC;AAEzF,MAAM,cAAc,GAAG,aAAa,CAAsB,IAAI,CAAC,CAAC;AAIhE,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAyB;IAC3E,OAAO,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,UAAU;IACxB,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAU,EAAW,CAAC,KAAK,CAAC;AACrC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { TrackingProvider, useTrack, useTracker } from "./context.js";
2
+ export { usePageView } from "./use-page-view.js";
3
+ export type { TrackingProviderProps } from "./context.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { TrackingProvider, useTrack, useTracker } from "./context.js";
2
+ export { usePageView } from "./use-page-view.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Router-agnostic page view helper. Pass something that changes on navigation
3
+ * (e.g. `location.key` or `pathname`). URL and title are read when the effect runs,
4
+ * after the new page has committed.
5
+ */
6
+ export declare function usePageView(key: string): void;
7
+ //# sourceMappingURL=use-page-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-page-view.d.ts","sourceRoot":"","sources":["../src/use-page-view.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAM7C"}
@@ -0,0 +1,14 @@
1
+ import { useEffect } from "react";
2
+ import { useTracker } from "./context.js";
3
+ /**
4
+ * Router-agnostic page view helper. Pass something that changes on navigation
5
+ * (e.g. `location.key` or `pathname`). URL and title are read when the effect runs,
6
+ * after the new page has committed.
7
+ */
8
+ export function usePageView(key) {
9
+ const tracker = useTracker();
10
+ useEffect(() => {
11
+ void tracker.pageView();
12
+ }, [tracker, key]);
13
+ }
14
+ //# sourceMappingURL=use-page-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-page-view.js","sourceRoot":"","sources":["../src/use-page-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AACrB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@ad-tracking-kits/react",
3
+ "version": "0.1.0",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "git+https://github.com/banggae2/ad-tracking-kits.git",
7
+ "directory": "packages/react"
8
+ },
9
+ "type": "module",
10
+ "sideEffects": false,
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "dependencies": {
21
+ "@ad-tracking-kits/core": "0.1.0"
22
+ },
23
+ "peerDependencies": {
24
+ "react": ">=18.0.0"
25
+ },
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "scripts": {
30
+ "build": "tsc -p tsconfig.json"
31
+ }
32
+ }