@grainql/analytics-web 2.0.0 → 2.1.1

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.
Files changed (178) hide show
  1. package/dist/activity.d.ts +59 -0
  2. package/dist/activity.d.ts.map +1 -0
  3. package/dist/activity.js +131 -0
  4. package/dist/cjs/activity.d.ts +59 -0
  5. package/dist/cjs/activity.d.ts.map +1 -0
  6. package/dist/cjs/activity.js +131 -0
  7. package/dist/cjs/activity.js.map +1 -0
  8. package/dist/cjs/consent.d.ts +68 -0
  9. package/dist/cjs/consent.d.ts.map +1 -0
  10. package/dist/cjs/consent.js +191 -0
  11. package/dist/cjs/consent.js.map +1 -0
  12. package/dist/cjs/cookies.d.ts +28 -0
  13. package/dist/cjs/cookies.d.ts.map +1 -0
  14. package/dist/cjs/cookies.js +95 -0
  15. package/dist/cjs/cookies.js.map +1 -0
  16. package/dist/cjs/heartbeat.d.ts +42 -0
  17. package/dist/cjs/heartbeat.d.ts.map +1 -0
  18. package/dist/cjs/heartbeat.js +92 -0
  19. package/dist/cjs/heartbeat.js.map +1 -0
  20. package/dist/cjs/index.d.ts +100 -3
  21. package/dist/cjs/index.d.ts.map +1 -1
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/cjs/page-tracking.d.ts +60 -0
  24. package/dist/cjs/page-tracking.d.ts.map +1 -0
  25. package/dist/cjs/page-tracking.js +180 -0
  26. package/dist/cjs/page-tracking.js.map +1 -0
  27. package/dist/cjs/react/components/ConsentBanner.d.ts +16 -0
  28. package/dist/cjs/react/components/ConsentBanner.d.ts.map +1 -0
  29. package/dist/cjs/react/components/ConsentBanner.js +112 -0
  30. package/dist/cjs/react/components/ConsentBanner.js.map +1 -0
  31. package/dist/cjs/react/components/CookieNotice.d.ts +12 -0
  32. package/dist/cjs/react/components/CookieNotice.d.ts.map +1 -0
  33. package/dist/cjs/react/components/CookieNotice.js +62 -0
  34. package/dist/cjs/react/components/CookieNotice.js.map +1 -0
  35. package/dist/cjs/react/components/PrivacyPreferenceCenter.d.ts +12 -0
  36. package/dist/cjs/react/components/PrivacyPreferenceCenter.d.ts.map +1 -0
  37. package/dist/cjs/react/components/PrivacyPreferenceCenter.js +120 -0
  38. package/dist/cjs/react/components/PrivacyPreferenceCenter.js.map +1 -0
  39. package/dist/cjs/react/hooks/useConsent.d.ts +13 -0
  40. package/dist/cjs/react/hooks/useConsent.d.ts.map +1 -0
  41. package/dist/cjs/react/hooks/useConsent.js +84 -0
  42. package/dist/cjs/react/hooks/useConsent.js.map +1 -0
  43. package/dist/cjs/react/hooks/useDataDeletion.d.ts +17 -0
  44. package/dist/cjs/react/hooks/useDataDeletion.d.ts.map +1 -0
  45. package/dist/cjs/react/hooks/useDataDeletion.js +117 -0
  46. package/dist/cjs/react/hooks/useDataDeletion.js.map +1 -0
  47. package/dist/cjs/react/hooks/usePrivacyPreferences.d.ts +15 -0
  48. package/dist/cjs/react/hooks/usePrivacyPreferences.d.ts.map +1 -0
  49. package/dist/cjs/react/hooks/usePrivacyPreferences.js +82 -0
  50. package/dist/cjs/react/hooks/usePrivacyPreferences.js.map +1 -0
  51. package/dist/cjs/react/index.d.ts +11 -0
  52. package/dist/cjs/react/index.d.ts.map +1 -1
  53. package/dist/cjs/react/index.js +15 -1
  54. package/dist/cjs/react/index.js.map +1 -1
  55. package/dist/consent.d.ts +68 -0
  56. package/dist/consent.d.ts.map +1 -0
  57. package/dist/consent.js +191 -0
  58. package/dist/cookies.d.ts +28 -0
  59. package/dist/cookies.d.ts.map +1 -0
  60. package/dist/cookies.js +95 -0
  61. package/dist/esm/activity.d.ts +59 -0
  62. package/dist/esm/activity.d.ts.map +1 -0
  63. package/dist/esm/activity.js +127 -0
  64. package/dist/esm/activity.js.map +1 -0
  65. package/dist/esm/consent.d.ts +68 -0
  66. package/dist/esm/consent.d.ts.map +1 -0
  67. package/dist/esm/consent.js +187 -0
  68. package/dist/esm/consent.js.map +1 -0
  69. package/dist/esm/cookies.d.ts +28 -0
  70. package/dist/esm/cookies.d.ts.map +1 -0
  71. package/dist/esm/cookies.js +89 -0
  72. package/dist/esm/cookies.js.map +1 -0
  73. package/dist/esm/heartbeat.d.ts +42 -0
  74. package/dist/esm/heartbeat.d.ts.map +1 -0
  75. package/dist/esm/heartbeat.js +88 -0
  76. package/dist/esm/heartbeat.js.map +1 -0
  77. package/dist/esm/index.d.ts +100 -3
  78. package/dist/esm/index.d.ts.map +1 -1
  79. package/dist/esm/index.js.map +1 -1
  80. package/dist/esm/page-tracking.d.ts +60 -0
  81. package/dist/esm/page-tracking.d.ts.map +1 -0
  82. package/dist/esm/page-tracking.js +176 -0
  83. package/dist/esm/page-tracking.js.map +1 -0
  84. package/dist/esm/react/components/ConsentBanner.d.ts +16 -0
  85. package/dist/esm/react/components/ConsentBanner.d.ts.map +1 -0
  86. package/dist/esm/react/components/ConsentBanner.js +76 -0
  87. package/dist/esm/react/components/ConsentBanner.js.map +1 -0
  88. package/dist/esm/react/components/CookieNotice.d.ts +12 -0
  89. package/dist/esm/react/components/CookieNotice.d.ts.map +1 -0
  90. package/dist/esm/react/components/CookieNotice.js +26 -0
  91. package/dist/esm/react/components/CookieNotice.js.map +1 -0
  92. package/dist/esm/react/components/PrivacyPreferenceCenter.d.ts +12 -0
  93. package/dist/esm/react/components/PrivacyPreferenceCenter.d.ts.map +1 -0
  94. package/dist/esm/react/components/PrivacyPreferenceCenter.js +84 -0
  95. package/dist/esm/react/components/PrivacyPreferenceCenter.js.map +1 -0
  96. package/dist/esm/react/hooks/useConsent.d.ts +13 -0
  97. package/dist/esm/react/hooks/useConsent.d.ts.map +1 -0
  98. package/dist/esm/react/hooks/useConsent.js +48 -0
  99. package/dist/esm/react/hooks/useConsent.js.map +1 -0
  100. package/dist/esm/react/hooks/useDataDeletion.d.ts +17 -0
  101. package/dist/esm/react/hooks/useDataDeletion.d.ts.map +1 -0
  102. package/dist/esm/react/hooks/useDataDeletion.js +81 -0
  103. package/dist/esm/react/hooks/useDataDeletion.js.map +1 -0
  104. package/dist/esm/react/hooks/usePrivacyPreferences.d.ts +15 -0
  105. package/dist/esm/react/hooks/usePrivacyPreferences.d.ts.map +1 -0
  106. package/dist/esm/react/hooks/usePrivacyPreferences.js +46 -0
  107. package/dist/esm/react/hooks/usePrivacyPreferences.js.map +1 -0
  108. package/dist/esm/react/index.d.ts +11 -0
  109. package/dist/esm/react/index.d.ts.map +1 -1
  110. package/dist/esm/react/index.js +8 -0
  111. package/dist/esm/react/index.js.map +1 -1
  112. package/dist/heartbeat.d.ts +42 -0
  113. package/dist/heartbeat.d.ts.map +1 -0
  114. package/dist/heartbeat.js +92 -0
  115. package/dist/index.d.ts +100 -3
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.global.dev.js +903 -12
  118. package/dist/index.global.dev.js.map +3 -3
  119. package/dist/index.global.js +2 -2
  120. package/dist/index.global.js.map +4 -4
  121. package/dist/index.js +321 -11
  122. package/dist/index.mjs +321 -11
  123. package/dist/page-tracking.d.ts +60 -0
  124. package/dist/page-tracking.d.ts.map +1 -0
  125. package/dist/page-tracking.js +180 -0
  126. package/dist/react/activity.d.ts +59 -0
  127. package/dist/react/activity.d.ts.map +1 -0
  128. package/dist/react/activity.js +130 -0
  129. package/dist/react/activity.mjs +126 -0
  130. package/dist/react/consent.d.ts +68 -0
  131. package/dist/react/consent.d.ts.map +1 -0
  132. package/dist/react/consent.js +190 -0
  133. package/dist/react/consent.mjs +186 -0
  134. package/dist/react/cookies.d.ts +28 -0
  135. package/dist/react/cookies.d.ts.map +1 -0
  136. package/dist/react/cookies.js +94 -0
  137. package/dist/react/cookies.mjs +88 -0
  138. package/dist/react/heartbeat.d.ts +42 -0
  139. package/dist/react/heartbeat.d.ts.map +1 -0
  140. package/dist/react/heartbeat.js +91 -0
  141. package/dist/react/heartbeat.mjs +87 -0
  142. package/dist/react/index.d.ts +100 -3
  143. package/dist/react/index.d.ts.map +1 -1
  144. package/dist/react/index.js +321 -11
  145. package/dist/react/index.mjs +321 -11
  146. package/dist/react/page-tracking.d.ts +60 -0
  147. package/dist/react/page-tracking.d.ts.map +1 -0
  148. package/dist/react/page-tracking.js +179 -0
  149. package/dist/react/page-tracking.mjs +175 -0
  150. package/dist/react/react/components/ConsentBanner.d.ts +16 -0
  151. package/dist/react/react/components/ConsentBanner.d.ts.map +1 -0
  152. package/dist/react/react/components/ConsentBanner.js +78 -0
  153. package/dist/react/react/components/ConsentBanner.mjs +75 -0
  154. package/dist/react/react/components/CookieNotice.d.ts +12 -0
  155. package/dist/react/react/components/CookieNotice.d.ts.map +1 -0
  156. package/dist/react/react/components/CookieNotice.js +28 -0
  157. package/dist/react/react/components/CookieNotice.mjs +25 -0
  158. package/dist/react/react/components/PrivacyPreferenceCenter.d.ts +12 -0
  159. package/dist/react/react/components/PrivacyPreferenceCenter.d.ts.map +1 -0
  160. package/dist/react/react/components/PrivacyPreferenceCenter.js +86 -0
  161. package/dist/react/react/components/PrivacyPreferenceCenter.mjs +83 -0
  162. package/dist/react/react/hooks/useConsent.d.ts +13 -0
  163. package/dist/react/react/hooks/useConsent.d.ts.map +1 -0
  164. package/dist/react/react/hooks/useConsent.js +50 -0
  165. package/dist/react/react/hooks/useConsent.mjs +47 -0
  166. package/dist/react/react/hooks/useDataDeletion.d.ts +17 -0
  167. package/dist/react/react/hooks/useDataDeletion.d.ts.map +1 -0
  168. package/dist/react/react/hooks/useDataDeletion.js +83 -0
  169. package/dist/react/react/hooks/useDataDeletion.mjs +80 -0
  170. package/dist/react/react/hooks/usePrivacyPreferences.d.ts +15 -0
  171. package/dist/react/react/hooks/usePrivacyPreferences.d.ts.map +1 -0
  172. package/dist/react/react/hooks/usePrivacyPreferences.js +48 -0
  173. package/dist/react/react/hooks/usePrivacyPreferences.mjs +45 -0
  174. package/dist/react/react/index.d.ts +11 -0
  175. package/dist/react/react/index.d.ts.map +1 -1
  176. package/dist/react/react/index.js +15 -1
  177. package/dist/react/react/index.mjs +8 -0
  178. package/package.json +3 -3
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Cookie utilities for Grain Analytics
3
+ * Provides GDPR-compliant cookie management with configurable options
4
+ */
5
+ export interface CookieConfig {
6
+ domain?: string;
7
+ path?: string;
8
+ sameSite?: 'strict' | 'lax' | 'none';
9
+ secure?: boolean;
10
+ maxAge?: number;
11
+ }
12
+ /**
13
+ * Set a cookie with configurable options
14
+ */
15
+ export declare function setCookie(name: string, value: string, config?: CookieConfig): void;
16
+ /**
17
+ * Get a cookie value by name
18
+ */
19
+ export declare function getCookie(name: string): string | null;
20
+ /**
21
+ * Delete a cookie by name
22
+ */
23
+ export declare function deleteCookie(name: string, config?: Pick<CookieConfig, 'domain' | 'path'>): void;
24
+ /**
25
+ * Check if cookies are available and working
26
+ */
27
+ export declare function areCookiesEnabled(): boolean;
28
+ //# sourceMappingURL=cookies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../src/cookies.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CA4BlF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG,IAAI,CAmB/F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAY3C"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ /**
3
+ * Cookie utilities for Grain Analytics
4
+ * Provides GDPR-compliant cookie management with configurable options
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.setCookie = setCookie;
8
+ exports.getCookie = getCookie;
9
+ exports.deleteCookie = deleteCookie;
10
+ exports.areCookiesEnabled = areCookiesEnabled;
11
+ /**
12
+ * Set a cookie with configurable options
13
+ */
14
+ function setCookie(name, value, config) {
15
+ if (typeof document === 'undefined')
16
+ return;
17
+ const parts = [`${encodeURIComponent(name)}=${encodeURIComponent(value)}`];
18
+ if (config?.maxAge !== undefined) {
19
+ parts.push(`max-age=${config.maxAge}`);
20
+ }
21
+ if (config?.domain) {
22
+ parts.push(`domain=${config.domain}`);
23
+ }
24
+ if (config?.path) {
25
+ parts.push(`path=${config.path}`);
26
+ }
27
+ else {
28
+ parts.push('path=/');
29
+ }
30
+ if (config?.sameSite) {
31
+ parts.push(`samesite=${config.sameSite}`);
32
+ }
33
+ if (config?.secure) {
34
+ parts.push('secure');
35
+ }
36
+ document.cookie = parts.join('; ');
37
+ }
38
+ /**
39
+ * Get a cookie value by name
40
+ */
41
+ function getCookie(name) {
42
+ if (typeof document === 'undefined')
43
+ return null;
44
+ const nameEQ = encodeURIComponent(name) + '=';
45
+ const cookies = document.cookie.split(';');
46
+ for (let i = 0; i < cookies.length; i++) {
47
+ let cookie = cookies[i];
48
+ while (cookie.charAt(0) === ' ') {
49
+ cookie = cookie.substring(1);
50
+ }
51
+ if (cookie.indexOf(nameEQ) === 0) {
52
+ return decodeURIComponent(cookie.substring(nameEQ.length));
53
+ }
54
+ }
55
+ return null;
56
+ }
57
+ /**
58
+ * Delete a cookie by name
59
+ */
60
+ function deleteCookie(name, config) {
61
+ if (typeof document === 'undefined')
62
+ return;
63
+ const parts = [
64
+ `${encodeURIComponent(name)}=`,
65
+ 'max-age=0',
66
+ ];
67
+ if (config?.domain) {
68
+ parts.push(`domain=${config.domain}`);
69
+ }
70
+ if (config?.path) {
71
+ parts.push(`path=${config.path}`);
72
+ }
73
+ else {
74
+ parts.push('path=/');
75
+ }
76
+ document.cookie = parts.join('; ');
77
+ }
78
+ /**
79
+ * Check if cookies are available and working
80
+ */
81
+ function areCookiesEnabled() {
82
+ if (typeof document === 'undefined')
83
+ return false;
84
+ try {
85
+ const testCookie = '_grain_cookie_test';
86
+ setCookie(testCookie, 'test', { maxAge: 1 });
87
+ const result = getCookie(testCookie) === 'test';
88
+ deleteCookie(testCookie);
89
+ return result;
90
+ }
91
+ catch {
92
+ return false;
93
+ }
94
+ }
95
+ //# sourceMappingURL=cookies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../src/cookies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Heartbeat Manager for Grain Analytics
3
+ * Tracks session activity with consent-aware behavior
4
+ */
5
+ import type { ActivityDetector } from './activity';
6
+ export interface HeartbeatConfig {
7
+ activeInterval: number;
8
+ inactiveInterval: number;
9
+ debug?: boolean;
10
+ }
11
+ export interface HeartbeatTracker {
12
+ trackSystemEvent(eventName: string, properties: Record<string, unknown>): void;
13
+ hasConsent(category?: string): boolean;
14
+ getEffectiveUserId(): string;
15
+ getEphemeralSessionId(): string;
16
+ getCurrentPage(): string | null;
17
+ getEventCountSinceLastHeartbeat(): number;
18
+ resetEventCountSinceLastHeartbeat(): void;
19
+ }
20
+ export declare class HeartbeatManager {
21
+ private config;
22
+ private tracker;
23
+ private activityDetector;
24
+ private heartbeatTimer;
25
+ private isDestroyed;
26
+ private lastHeartbeatTime;
27
+ private currentInterval;
28
+ constructor(tracker: HeartbeatTracker, activityDetector: ActivityDetector, config: HeartbeatConfig);
29
+ /**
30
+ * Schedule the next heartbeat based on current activity
31
+ */
32
+ private scheduleNextHeartbeat;
33
+ /**
34
+ * Send heartbeat event
35
+ */
36
+ private sendHeartbeat;
37
+ /**
38
+ * Destroy the heartbeat manager
39
+ */
40
+ destroy(): void;
41
+ }
42
+ //# sourceMappingURL=heartbeat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/heartbeat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/E,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,kBAAkB,IAAI,MAAM,CAAC;IAC7B,qBAAqB,IAAI,MAAM,CAAC;IAChC,cAAc,IAAI,MAAM,GAAG,IAAI,CAAC;IAChC,+BAA+B,IAAI,MAAM,CAAC;IAC1C,iCAAiC,IAAI,IAAI,CAAC;CAC3C;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,eAAe,CAAS;gBAG9B,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,eAAe;IAYzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAqCrB;;OAEG;IACH,OAAO,IAAI,IAAI;CAchB"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ /**
3
+ * Heartbeat Manager for Grain Analytics
4
+ * Tracks session activity with consent-aware behavior
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.HeartbeatManager = void 0;
8
+ class HeartbeatManager {
9
+ constructor(tracker, activityDetector, config) {
10
+ this.heartbeatTimer = null;
11
+ this.isDestroyed = false;
12
+ this.tracker = tracker;
13
+ this.activityDetector = activityDetector;
14
+ this.config = config;
15
+ this.lastHeartbeatTime = Date.now();
16
+ this.currentInterval = config.activeInterval;
17
+ // Start heartbeat tracking
18
+ this.scheduleNextHeartbeat();
19
+ }
20
+ /**
21
+ * Schedule the next heartbeat based on current activity
22
+ */
23
+ scheduleNextHeartbeat() {
24
+ if (this.isDestroyed)
25
+ return;
26
+ // Clear existing timer
27
+ if (this.heartbeatTimer !== null) {
28
+ clearTimeout(this.heartbeatTimer);
29
+ }
30
+ // Determine interval based on activity
31
+ const isActive = this.activityDetector.isActive(60000); // 1 minute threshold
32
+ this.currentInterval = isActive ? this.config.activeInterval : this.config.inactiveInterval;
33
+ // Schedule next heartbeat
34
+ this.heartbeatTimer = window.setTimeout(() => {
35
+ this.sendHeartbeat();
36
+ this.scheduleNextHeartbeat();
37
+ }, this.currentInterval);
38
+ if (this.config.debug) {
39
+ console.log(`[Heartbeat] Scheduled next heartbeat in ${this.currentInterval / 1000}s (${isActive ? 'active' : 'inactive'})`);
40
+ }
41
+ }
42
+ /**
43
+ * Send heartbeat event
44
+ */
45
+ sendHeartbeat() {
46
+ if (this.isDestroyed)
47
+ return;
48
+ const now = Date.now();
49
+ const isActive = this.activityDetector.isActive(60000); // 1 minute threshold
50
+ const hasConsent = this.tracker.hasConsent('analytics');
51
+ // Base properties (always included)
52
+ const properties = {
53
+ type: 'heartbeat',
54
+ status: isActive ? 'active' : 'inactive',
55
+ timestamp: now,
56
+ };
57
+ // Enhanced properties when consent is granted
58
+ if (hasConsent) {
59
+ const page = this.tracker.getCurrentPage();
60
+ if (page) {
61
+ properties.page = page;
62
+ }
63
+ properties.duration = now - this.lastHeartbeatTime;
64
+ properties.event_count = this.tracker.getEventCountSinceLastHeartbeat();
65
+ // Reset event count
66
+ this.tracker.resetEventCountSinceLastHeartbeat();
67
+ }
68
+ // Track the heartbeat event
69
+ this.tracker.trackSystemEvent('_grain_heartbeat', properties);
70
+ this.lastHeartbeatTime = now;
71
+ if (this.config.debug) {
72
+ console.log('[Heartbeat] Sent heartbeat:', properties);
73
+ }
74
+ }
75
+ /**
76
+ * Destroy the heartbeat manager
77
+ */
78
+ destroy() {
79
+ if (this.isDestroyed)
80
+ return;
81
+ if (this.heartbeatTimer !== null) {
82
+ clearTimeout(this.heartbeatTimer);
83
+ this.heartbeatTimer = null;
84
+ }
85
+ this.isDestroyed = true;
86
+ if (this.config.debug) {
87
+ console.log('[Heartbeat] Destroyed');
88
+ }
89
+ }
90
+ }
91
+ exports.HeartbeatManager = HeartbeatManager;
92
+ //# sourceMappingURL=heartbeat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/heartbeat.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,10 @@
2
2
  * Grain Analytics Web SDK
3
3
  * A lightweight, dependency-free TypeScript SDK for sending analytics events to Grain's REST API
4
4
  */
5
+ import { ConsentState, ConsentMode } from './consent';
6
+ import { CookieConfig } from './cookies';
7
+ import { type HeartbeatTracker } from './heartbeat';
8
+ import { type PageTracker } from './page-tracking';
5
9
  export interface GrainEvent {
6
10
  eventName: string;
7
11
  userId?: string;
@@ -17,6 +21,7 @@ export type AuthStrategy = 'NONE' | 'SERVER_SIDE' | 'JWT';
17
21
  export interface AuthProvider {
18
22
  getToken(): Promise<string> | string;
19
23
  }
24
+ export type { ConsentState, ConsentMode, CookieConfig };
20
25
  export interface GrainConfig {
21
26
  tenantId: string;
22
27
  apiUrl?: string;
@@ -34,6 +39,18 @@ export interface GrainConfig {
34
39
  configCacheKey?: string;
35
40
  configRefreshInterval?: number;
36
41
  enableConfigCache?: boolean;
42
+ consentMode?: ConsentMode;
43
+ waitForConsent?: boolean;
44
+ enableCookies?: boolean;
45
+ cookieOptions?: CookieConfig;
46
+ anonymizeIP?: boolean;
47
+ disableAutoProperties?: boolean;
48
+ allowedProperties?: string[];
49
+ enableHeartbeat?: boolean;
50
+ heartbeatActiveInterval?: number;
51
+ heartbeatInactiveInterval?: number;
52
+ enableAutoPageView?: boolean;
53
+ stripQueryParams?: boolean;
37
54
  }
38
55
  export interface SendEventOptions {
39
56
  flush?: boolean;
@@ -177,9 +194,10 @@ export interface FormattedError {
177
194
  context: string;
178
195
  originalError?: unknown;
179
196
  }
180
- export declare class GrainAnalytics {
197
+ export declare class GrainAnalytics implements HeartbeatTracker, PageTracker {
181
198
  private config;
182
199
  private eventQueue;
200
+ private waitingForConsentQueue;
183
201
  private flushTimer;
184
202
  private isDestroyed;
185
203
  private globalUserId;
@@ -188,6 +206,13 @@ export declare class GrainAnalytics {
188
206
  private configRefreshTimer;
189
207
  private configChangeListeners;
190
208
  private configFetchPromise;
209
+ private consentManager;
210
+ private cookiesEnabled;
211
+ private activityDetector;
212
+ private heartbeatManager;
213
+ private pageTrackingManager;
214
+ private ephemeralSessionId;
215
+ private eventCountSinceLastHeartbeat;
191
216
  constructor(config: GrainConfig);
192
217
  private validateConfig;
193
218
  /**
@@ -199,13 +224,18 @@ export declare class GrainAnalytics {
199
224
  */
200
225
  private generateAnonymousUserId;
201
226
  /**
202
- * Initialize persistent anonymous user ID from localStorage or create new one
227
+ * Initialize persistent anonymous user ID from cookies or localStorage
228
+ * Priority: Cookie → localStorage → generate new
203
229
  */
204
230
  private initializePersistentAnonymousUserId;
231
+ /**
232
+ * Save persistent anonymous user ID to cookie and/or localStorage
233
+ */
234
+ private savePersistentAnonymousUserId;
205
235
  /**
206
236
  * Get the effective user ID (global userId or persistent anonymous ID)
207
237
  */
208
- private getEffectiveUserId;
238
+ private getEffectiveUserIdInternal;
209
239
  private log;
210
240
  /**
211
241
  * Create error digest from events
@@ -231,11 +261,51 @@ export declare class GrainAnalytics {
231
261
  private sendEventsWithBeacon;
232
262
  private startFlushTimer;
233
263
  private setupBeforeUnload;
264
+ /**
265
+ * Initialize automatic tracking (heartbeat and page views)
266
+ */
267
+ private initializeAutomaticTracking;
268
+ /**
269
+ * Handle consent granted - upgrade ephemeral session to persistent user
270
+ */
271
+ private handleConsentGranted;
272
+ /**
273
+ * Track system events that bypass consent checks (for necessary/functional tracking)
274
+ */
275
+ trackSystemEvent(eventName: string, properties: Record<string, unknown>): void;
276
+ /**
277
+ * Get ephemeral session ID (memory-only, not persisted)
278
+ */
279
+ getEphemeralSessionId(): string;
280
+ /**
281
+ * Get the current page path from page tracker
282
+ */
283
+ getCurrentPage(): string | null;
284
+ /**
285
+ * Get event count since last heartbeat
286
+ */
287
+ getEventCountSinceLastHeartbeat(): number;
288
+ /**
289
+ * Reset event count since last heartbeat
290
+ */
291
+ resetEventCountSinceLastHeartbeat(): void;
292
+ /**
293
+ * Get the effective user ID (public method)
294
+ */
295
+ getEffectiveUserId(): string;
296
+ /**
297
+ * Get the session ID (ephemeral or persistent based on consent)
298
+ */
299
+ getSessionId(): string;
234
300
  /**
235
301
  * Track an analytics event
236
302
  */
237
303
  track(eventName: string, properties?: Record<string, unknown>, options?: SendEventOptions): Promise<void>;
238
304
  track(event: GrainEvent, options?: SendEventOptions): Promise<void>;
305
+ /**
306
+ * Flush events that were waiting for consent
307
+ */
308
+ private flushWaitingForConsentQueue;
239
309
  /**
240
310
  * Identify a user (sets userId for subsequent events)
241
311
  */
@@ -384,6 +454,33 @@ export declare class GrainAnalytics {
384
454
  * Split events array into chunks of specified size
385
455
  */
386
456
  private chunkEvents;
457
+ /**
458
+ * Grant consent for tracking
459
+ * @param categories - Optional array of consent categories (e.g., ['analytics', 'functional'])
460
+ */
461
+ grantConsent(categories?: string[]): void;
462
+ /**
463
+ * Revoke consent for tracking (opt-out)
464
+ * @param categories - Optional array of categories to revoke (if not provided, revokes all)
465
+ */
466
+ revokeConsent(categories?: string[]): void;
467
+ /**
468
+ * Get current consent state
469
+ */
470
+ getConsentState(): ConsentState | null;
471
+ /**
472
+ * Check if user has granted consent
473
+ * @param category - Optional category to check (if not provided, checks general consent)
474
+ */
475
+ hasConsent(category?: string): boolean;
476
+ /**
477
+ * Add listener for consent state changes
478
+ */
479
+ onConsentChange(listener: (state: ConsentState) => void): void;
480
+ /**
481
+ * Remove consent change listener
482
+ */
483
+ offConsentChange(listener: (state: ConsentState) => void): void;
387
484
  /**
388
485
  * Destroy the client and clean up resources
389
486
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}