@leanbase.com/js 0.1.2 → 0.2.0-alpha.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.
Files changed (136) hide show
  1. package/dist/autocapture-utils.d.ts +17 -0
  2. package/dist/autocapture.d.ts +35 -0
  3. package/dist/config.d.ts +5 -0
  4. package/dist/constants.d.ts +54 -0
  5. package/dist/entrypoints/main.cjs.d.ts +4 -0
  6. package/dist/entrypoints/module.es.d.ts +4 -0
  7. package/dist/extensions/rageclick.d.ts +9 -0
  8. package/dist/iife.d.ts +19 -0
  9. package/dist/index.d.ts +2 -779
  10. package/dist/leanbase-logger.d.ts +6 -0
  11. package/dist/leanbase-persistence.d.ts +64 -0
  12. package/dist/leanbase.d.ts +49 -0
  13. package/dist/leanbase.iife.js +1 -4745
  14. package/dist/leanbase.iife.js.map +1 -1
  15. package/dist/main.js +2 -0
  16. package/dist/main.js.map +1 -0
  17. package/dist/module.d.ts +780 -0
  18. package/dist/module.js +2 -0
  19. package/dist/module.js.map +1 -0
  20. package/dist/page-view.d.ts +29 -0
  21. package/dist/scroll-manager.d.ts +21 -0
  22. package/dist/session-props.d.ts +32 -0
  23. package/dist/sessionid.d.ts +50 -0
  24. package/dist/storage.d.ts +24 -0
  25. package/{src/types.ts → dist/types.d.ts} +145 -235
  26. package/dist/utils/blocked-uas.d.ts +17 -0
  27. package/dist/utils/element-utils.d.ts +5 -0
  28. package/dist/utils/event-utils.d.ts +22 -0
  29. package/dist/utils/index.d.ts +44 -0
  30. package/dist/utils/request-utils.d.ts +12 -0
  31. package/dist/utils/simple-event-emitter.d.ts +6 -0
  32. package/dist/utils/user-agent-utils.d.ts +18 -0
  33. package/dist/uuidv7.d.ts +43 -0
  34. package/dist/version.d.ts +1 -0
  35. package/lib/autocapture-utils.d.ts +17 -0
  36. package/{src/autocapture-utils.ts → lib/autocapture-utils.js} +196 -280
  37. package/lib/autocapture-utils.js.map +1 -0
  38. package/lib/autocapture.d.ts +35 -0
  39. package/lib/autocapture.js +311 -0
  40. package/lib/autocapture.js.map +1 -0
  41. package/lib/config.d.ts +5 -0
  42. package/lib/config.js +7 -0
  43. package/lib/config.js.map +1 -0
  44. package/lib/constants.d.ts +54 -0
  45. package/{src/constants.ts → lib/constants.js} +58 -55
  46. package/lib/constants.js.map +1 -0
  47. package/lib/entrypoints/main.cjs.d.ts +4 -0
  48. package/lib/entrypoints/main.cjs.js +3 -0
  49. package/lib/entrypoints/main.cjs.js.map +1 -0
  50. package/lib/entrypoints/module.es.d.ts +4 -0
  51. package/lib/entrypoints/module.es.js +3 -0
  52. package/lib/entrypoints/module.es.js.map +1 -0
  53. package/lib/extensions/rageclick.d.ts +9 -0
  54. package/lib/extensions/rageclick.js +27 -0
  55. package/lib/extensions/rageclick.js.map +1 -0
  56. package/lib/iife.d.ts +19 -0
  57. package/lib/iife.js +67 -0
  58. package/lib/iife.js.map +1 -0
  59. package/{src/index.ts → lib/index.d.ts} +2 -2
  60. package/lib/index.js +2 -0
  61. package/lib/index.js.map +1 -0
  62. package/lib/leanbase-logger.d.ts +6 -0
  63. package/lib/leanbase-logger.js +25 -0
  64. package/lib/leanbase-logger.js.map +1 -0
  65. package/lib/leanbase-persistence.d.ts +64 -0
  66. package/lib/leanbase-persistence.js +287 -0
  67. package/lib/leanbase-persistence.js.map +1 -0
  68. package/lib/leanbase.d.ts +49 -0
  69. package/lib/leanbase.js +294 -0
  70. package/lib/leanbase.js.map +1 -0
  71. package/lib/page-view.d.ts +29 -0
  72. package/lib/page-view.js +81 -0
  73. package/lib/page-view.js.map +1 -0
  74. package/lib/scroll-manager.d.ts +21 -0
  75. package/lib/scroll-manager.js +79 -0
  76. package/lib/scroll-manager.js.map +1 -0
  77. package/lib/session-props.d.ts +32 -0
  78. package/lib/session-props.js +73 -0
  79. package/lib/session-props.js.map +1 -0
  80. package/lib/sessionid.d.ts +50 -0
  81. package/{src/sessionid.ts → lib/sessionid.js} +128 -204
  82. package/lib/sessionid.js.map +1 -0
  83. package/lib/storage.d.ts +24 -0
  84. package/{src/storage.ts → lib/storage.js} +182 -225
  85. package/lib/storage.js.map +1 -0
  86. package/lib/types.d.ts +544 -0
  87. package/lib/types.js +7 -0
  88. package/lib/types.js.map +1 -0
  89. package/lib/utils/blocked-uas.d.ts +17 -0
  90. package/{src/utils/blocked-uas.ts → lib/utils/blocked-uas.js} +19 -48
  91. package/lib/utils/blocked-uas.js.map +1 -0
  92. package/lib/utils/element-utils.d.ts +5 -0
  93. package/{src/utils/element-utils.ts → lib/utils/element-utils.js} +13 -17
  94. package/lib/utils/element-utils.js.map +1 -0
  95. package/lib/utils/event-utils.d.ts +22 -0
  96. package/lib/utils/event-utils.js +258 -0
  97. package/lib/utils/event-utils.js.map +1 -0
  98. package/lib/utils/index.d.ts +44 -0
  99. package/lib/utils/index.js +183 -0
  100. package/lib/utils/index.js.map +1 -0
  101. package/lib/utils/request-utils.d.ts +12 -0
  102. package/lib/utils/request-utils.js +107 -0
  103. package/lib/utils/request-utils.js.map +1 -0
  104. package/lib/utils/simple-event-emitter.d.ts +6 -0
  105. package/lib/utils/simple-event-emitter.js +24 -0
  106. package/lib/utils/simple-event-emitter.js.map +1 -0
  107. package/lib/utils/user-agent-utils.d.ts +18 -0
  108. package/lib/utils/user-agent-utils.js +369 -0
  109. package/lib/utils/user-agent-utils.js.map +1 -0
  110. package/lib/uuidv7.d.ts +43 -0
  111. package/{src/uuidv7.ts → lib/uuidv7.js} +103 -131
  112. package/lib/uuidv7.js.map +1 -0
  113. package/lib/version.d.ts +1 -0
  114. package/lib/version.js +2 -0
  115. package/lib/version.js.map +1 -0
  116. package/package.json +23 -11
  117. package/dist/index.cjs +0 -3032
  118. package/dist/index.cjs.map +0 -1
  119. package/dist/index.mjs +0 -3030
  120. package/dist/index.mjs.map +0 -1
  121. package/src/autocapture.ts +0 -415
  122. package/src/config.ts +0 -8
  123. package/src/extensions/rageclick.ts +0 -34
  124. package/src/iife.ts +0 -87
  125. package/src/leanbase-logger.ts +0 -26
  126. package/src/leanbase-persistence.ts +0 -374
  127. package/src/leanbase.ts +0 -424
  128. package/src/page-view.ts +0 -124
  129. package/src/scroll-manager.ts +0 -103
  130. package/src/session-props.ts +0 -114
  131. package/src/utils/event-utils.ts +0 -304
  132. package/src/utils/index.ts +0 -222
  133. package/src/utils/request-utils.ts +0 -128
  134. package/src/utils/simple-event-emitter.ts +0 -27
  135. package/src/utils/user-agent-utils.ts +0 -357
  136. package/src/version.ts +0 -1
@@ -0,0 +1,6 @@
1
+ export declare const logger: {
2
+ info: (...args: any[]) => void;
3
+ warn: (...args: any[]) => void;
4
+ error: (...args: any[]) => void;
5
+ critical: (...args: any[]) => void;
6
+ };
@@ -0,0 +1,64 @@
1
+ import { LeanbaseConfig, Properties } from './types';
2
+ /**
3
+ * Leanbase Persistence Object
4
+ * @constructor
5
+ */
6
+ export declare class LeanbasePersistence {
7
+ private _config;
8
+ props: Properties;
9
+ private _storage;
10
+ private _campaign_params_saved;
11
+ private readonly _name;
12
+ _disabled: boolean | undefined;
13
+ private _secure;
14
+ private _expire_days;
15
+ private _default_expiry;
16
+ private _cross_subdomain;
17
+ /**
18
+ * @param {LeanbaseConfig} config initial PostHog configuration
19
+ * @param {boolean=} isDisabled should persistence be disabled (e.g. because of consent management)
20
+ */
21
+ constructor(config: LeanbaseConfig, isDisabled?: boolean);
22
+ /**
23
+ * Returns whether persistence is disabled. Only available in SDKs > 1.257.1. Do not use on extensions, otherwise
24
+ * it'll break backwards compatibility for any version before 1.257.1.
25
+ */
26
+ isDisabled?(): boolean;
27
+ private _buildStorage;
28
+ properties(): Properties;
29
+ load(): void;
30
+ /**
31
+ * NOTE: Saving frequently causes issues with Recordings and Consent Management Platform (CMP) tools which
32
+ * observe cookie changes, and modify their UI, often causing infinite loops.
33
+ * As such callers of this should ideally check that the data has changed beforehand
34
+ */
35
+ save(): void;
36
+ remove(): void;
37
+ clear(): void;
38
+ /**
39
+ * @param {Object} props
40
+ * @param {*=} default_value
41
+ * @param {number=} days
42
+ */
43
+ register_once(props: Properties, default_value: any, days?: number): boolean;
44
+ /**
45
+ * @param {Object} props
46
+ * @param {number=} days
47
+ */
48
+ register(props: Properties, days?: number): boolean;
49
+ unregister(prop: string): void;
50
+ update_campaign_params(): void;
51
+ update_search_keyword(): void;
52
+ update_referrer_info(): void;
53
+ set_initial_person_info(): void;
54
+ get_initial_props(): Properties;
55
+ safe_merge(props: Properties): Properties;
56
+ update_config(config: LeanbaseConfig, oldConfig: LeanbaseConfig, isDisabled?: boolean): void;
57
+ set_disabled(disabled: boolean): void;
58
+ set_cross_subdomain(cross_subdomain: boolean): void;
59
+ set_secure(secure: boolean): void;
60
+ set_event_timer(event_name: string, timestamp: number): void;
61
+ remove_event_timer(event_name: string): number;
62
+ get_property(prop: string): any;
63
+ set_property(prop: string, to: any): void;
64
+ }
@@ -0,0 +1,49 @@
1
+ import { PostHogCore } from '@posthog/core';
2
+ import type { PostHogEventProperties, PostHogFetchOptions, PostHogFetchResponse, PostHogPersistedProperty } from '@posthog/core';
3
+ import { LeanbaseConfig, LeanbasegCaptureOptions as LeanbaseCaptureOptions, RemoteConfig, Properties } from './types';
4
+ import { LeanbasePersistence } from './leanbase-persistence';
5
+ import { Autocapture } from './autocapture';
6
+ import { SessionIdManager } from './sessionid';
7
+ import { SessionPropsManager } from './session-props';
8
+ import { PageViewManager } from './page-view';
9
+ import { ScrollManager } from './scroll-manager';
10
+ export declare class Leanbase extends PostHogCore {
11
+ config: LeanbaseConfig;
12
+ scrollManager: ScrollManager;
13
+ pageViewManager: PageViewManager;
14
+ replayAutocapture?: Autocapture;
15
+ persistence?: LeanbasePersistence;
16
+ sessionPersistence?: LeanbasePersistence;
17
+ sessionManager?: SessionIdManager;
18
+ sessionPropsManager?: SessionPropsManager;
19
+ isRemoteConfigLoaded?: boolean;
20
+ personProcessingSetOncePropertiesSent: boolean;
21
+ isLoaded: boolean;
22
+ initialPageviewCaptured: boolean;
23
+ visibilityStateListener: (() => void) | null;
24
+ constructor(token: string, config?: Partial<LeanbaseConfig>);
25
+ init(token: string, config: Partial<LeanbaseConfig>): void;
26
+ captureInitialPageview(): void;
27
+ capturePageLeave(): void;
28
+ loadRemoteConfig(): Promise<void>;
29
+ onRemoteConfig(config: RemoteConfig): void;
30
+ fetch(url: string, options: PostHogFetchOptions): Promise<PostHogFetchResponse>;
31
+ setConfig(config: Partial<LeanbaseConfig>): void;
32
+ getLibraryId(): string;
33
+ getLibraryVersion(): string;
34
+ getCustomUserAgent(): void;
35
+ getPersistedProperty<T>(key: PostHogPersistedProperty): T | undefined;
36
+ setPersistedProperty<T>(key: PostHogPersistedProperty, value: T | null): void;
37
+ calculateEventProperties(eventName: string, eventProperties: PostHogEventProperties, timestamp: Date, uuid: string, readOnly?: boolean): Properties;
38
+ isIdentified(): boolean;
39
+ /**
40
+ * Add additional set_once properties to the event when creating a person profile. This allows us to create the
41
+ * profile with mostly-accurate properties, despite earlier events not setting them. We do this by storing them in
42
+ * persistence.
43
+ * @param dataSetOnce
44
+ */
45
+ calculateSetOnceProperties(dataSetOnce?: Properties): Properties | undefined;
46
+ capture(event: string, properties?: PostHogEventProperties, options?: LeanbaseCaptureOptions): void;
47
+ identify(distinctId?: string, properties?: PostHogEventProperties, options?: LeanbaseCaptureOptions): void;
48
+ destroy(): void;
49
+ }