@leanbase.com/js 0.1.3 → 0.2.0-alpha.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 (141) hide show
  1. package/LICENSE +37 -0
  2. package/dist/autocapture-utils.d.ts +17 -0
  3. package/dist/autocapture.d.ts +35 -0
  4. package/dist/config.d.ts +5 -0
  5. package/dist/consent.d.ts +25 -0
  6. package/dist/constants.d.ts +54 -0
  7. package/dist/entrypoints/main.cjs.d.ts +4 -0
  8. package/dist/entrypoints/module.es.d.ts +4 -0
  9. package/dist/extensions/rageclick.d.ts +9 -0
  10. package/dist/iife.d.ts +19 -0
  11. package/dist/index.d.ts +2 -779
  12. package/dist/leanbase-logger.d.ts +6 -0
  13. package/dist/leanbase-persistence.d.ts +64 -0
  14. package/dist/leanbase.d.ts +53 -0
  15. package/dist/leanbase.iife.js +1 -4747
  16. package/dist/leanbase.iife.js.map +1 -1
  17. package/dist/main.js +2 -0
  18. package/dist/main.js.map +1 -0
  19. package/dist/module.d.ts +856 -0
  20. package/dist/module.js +2 -0
  21. package/dist/module.js.map +1 -0
  22. package/dist/page-view.d.ts +29 -0
  23. package/dist/scroll-manager.d.ts +21 -0
  24. package/dist/session-props.d.ts +32 -0
  25. package/dist/sessionid.d.ts +50 -0
  26. package/dist/storage.d.ts +24 -0
  27. package/{src/types.ts → dist/types.d.ts} +200 -242
  28. package/dist/utils/blocked-uas.d.ts +17 -0
  29. package/dist/utils/element-utils.d.ts +5 -0
  30. package/dist/utils/event-utils.d.ts +22 -0
  31. package/dist/utils/index.d.ts +46 -0
  32. package/dist/utils/request-utils.d.ts +12 -0
  33. package/dist/utils/simple-event-emitter.d.ts +6 -0
  34. package/dist/utils/user-agent-utils.d.ts +18 -0
  35. package/dist/uuidv7.d.ts +43 -0
  36. package/dist/version.d.ts +1 -0
  37. package/lib/autocapture-utils.d.ts +17 -0
  38. package/{src/autocapture-utils.ts → lib/autocapture-utils.js} +196 -280
  39. package/lib/autocapture-utils.js.map +1 -0
  40. package/lib/autocapture.d.ts +35 -0
  41. package/lib/autocapture.js +311 -0
  42. package/lib/autocapture.js.map +1 -0
  43. package/lib/config.d.ts +5 -0
  44. package/lib/config.js +7 -0
  45. package/lib/config.js.map +1 -0
  46. package/lib/consent.d.ts +25 -0
  47. package/lib/consent.js +101 -0
  48. package/lib/consent.js.map +1 -0
  49. package/lib/constants.d.ts +54 -0
  50. package/{src/constants.ts → lib/constants.js} +50 -57
  51. package/lib/constants.js.map +1 -0
  52. package/lib/entrypoints/main.cjs.d.ts +4 -0
  53. package/lib/entrypoints/main.cjs.js +3 -0
  54. package/lib/entrypoints/main.cjs.js.map +1 -0
  55. package/lib/entrypoints/module.es.d.ts +4 -0
  56. package/lib/entrypoints/module.es.js +3 -0
  57. package/lib/entrypoints/module.es.js.map +1 -0
  58. package/lib/extensions/rageclick.d.ts +9 -0
  59. package/lib/extensions/rageclick.js +27 -0
  60. package/lib/extensions/rageclick.js.map +1 -0
  61. package/lib/iife.d.ts +19 -0
  62. package/lib/iife.js +67 -0
  63. package/lib/iife.js.map +1 -0
  64. package/{src/index.ts → lib/index.d.ts} +2 -2
  65. package/lib/index.js +2 -0
  66. package/lib/index.js.map +1 -0
  67. package/lib/leanbase-logger.d.ts +6 -0
  68. package/lib/leanbase-logger.js +25 -0
  69. package/lib/leanbase-logger.js.map +1 -0
  70. package/lib/leanbase-persistence.d.ts +64 -0
  71. package/lib/leanbase-persistence.js +287 -0
  72. package/lib/leanbase-persistence.js.map +1 -0
  73. package/lib/leanbase.d.ts +53 -0
  74. package/lib/leanbase.js +359 -0
  75. package/lib/leanbase.js.map +1 -0
  76. package/lib/page-view.d.ts +29 -0
  77. package/lib/page-view.js +81 -0
  78. package/lib/page-view.js.map +1 -0
  79. package/lib/scroll-manager.d.ts +21 -0
  80. package/lib/scroll-manager.js +79 -0
  81. package/lib/scroll-manager.js.map +1 -0
  82. package/lib/session-props.d.ts +32 -0
  83. package/lib/session-props.js +73 -0
  84. package/lib/session-props.js.map +1 -0
  85. package/lib/sessionid.d.ts +50 -0
  86. package/{src/sessionid.ts → lib/sessionid.js} +128 -204
  87. package/lib/sessionid.js.map +1 -0
  88. package/lib/storage.d.ts +24 -0
  89. package/{src/storage.ts → lib/storage.js} +182 -225
  90. package/lib/storage.js.map +1 -0
  91. package/lib/types.d.ts +592 -0
  92. package/lib/types.js +7 -0
  93. package/lib/types.js.map +1 -0
  94. package/lib/utils/blocked-uas.d.ts +17 -0
  95. package/{src/utils/blocked-uas.ts → lib/utils/blocked-uas.js} +19 -48
  96. package/lib/utils/blocked-uas.js.map +1 -0
  97. package/lib/utils/element-utils.d.ts +5 -0
  98. package/{src/utils/element-utils.ts → lib/utils/element-utils.js} +13 -17
  99. package/lib/utils/element-utils.js.map +1 -0
  100. package/lib/utils/event-utils.d.ts +22 -0
  101. package/lib/utils/event-utils.js +258 -0
  102. package/lib/utils/event-utils.js.map +1 -0
  103. package/lib/utils/index.d.ts +46 -0
  104. package/lib/utils/index.js +192 -0
  105. package/lib/utils/index.js.map +1 -0
  106. package/lib/utils/request-utils.d.ts +12 -0
  107. package/lib/utils/request-utils.js +107 -0
  108. package/lib/utils/request-utils.js.map +1 -0
  109. package/lib/utils/simple-event-emitter.d.ts +6 -0
  110. package/lib/utils/simple-event-emitter.js +24 -0
  111. package/lib/utils/simple-event-emitter.js.map +1 -0
  112. package/lib/utils/user-agent-utils.d.ts +18 -0
  113. package/lib/utils/user-agent-utils.js +369 -0
  114. package/lib/utils/user-agent-utils.js.map +1 -0
  115. package/lib/uuidv7.d.ts +43 -0
  116. package/{src/uuidv7.ts → lib/uuidv7.js} +103 -131
  117. package/lib/uuidv7.js.map +1 -0
  118. package/lib/version.d.ts +1 -0
  119. package/lib/version.js +2 -0
  120. package/lib/version.js.map +1 -0
  121. package/package.json +56 -45
  122. package/dist/index.cjs +0 -3034
  123. package/dist/index.cjs.map +0 -1
  124. package/dist/index.mjs +0 -3032
  125. package/dist/index.mjs.map +0 -1
  126. package/src/autocapture.ts +0 -415
  127. package/src/config.ts +0 -8
  128. package/src/extensions/rageclick.ts +0 -34
  129. package/src/iife.ts +0 -87
  130. package/src/leanbase-logger.ts +0 -26
  131. package/src/leanbase-persistence.ts +0 -374
  132. package/src/leanbase.ts +0 -424
  133. package/src/page-view.ts +0 -124
  134. package/src/scroll-manager.ts +0 -103
  135. package/src/session-props.ts +0 -114
  136. package/src/utils/event-utils.ts +0 -304
  137. package/src/utils/index.ts +0 -222
  138. package/src/utils/request-utils.ts +0 -128
  139. package/src/utils/simple-event-emitter.ts +0 -27
  140. package/src/utils/user-agent-utils.ts +0 -357
  141. 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,53 @@
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
+ import { ConsentManager } from './consent';
11
+ export declare class Leanbase extends PostHogCore {
12
+ config: LeanbaseConfig;
13
+ scrollManager: ScrollManager;
14
+ pageViewManager: PageViewManager;
15
+ consent: ConsentManager;
16
+ replayAutocapture?: Autocapture;
17
+ persistence?: LeanbasePersistence;
18
+ sessionPersistence?: LeanbasePersistence;
19
+ sessionManager?: SessionIdManager;
20
+ sessionPropsManager?: SessionPropsManager;
21
+ isRemoteConfigLoaded?: boolean;
22
+ personProcessingSetOncePropertiesSent: boolean;
23
+ isLoaded: boolean;
24
+ initialPageviewCaptured: boolean;
25
+ visibilityStateListener: (() => void) | null;
26
+ constructor(token: string, config?: Partial<LeanbaseConfig>);
27
+ init(token: string, config: Partial<LeanbaseConfig>): this;
28
+ captureInitialPageview(): void;
29
+ capturePageLeave(): void;
30
+ loadRemoteConfig(): Promise<void>;
31
+ onRemoteConfig(config: RemoteConfig): void;
32
+ fetch(url: string, options: PostHogFetchOptions): Promise<PostHogFetchResponse>;
33
+ setConfig(config: Partial<LeanbaseConfig>): void;
34
+ getLibraryId(): string;
35
+ getLibraryVersion(): string;
36
+ getCustomUserAgent(): void;
37
+ getPersistedProperty<T>(key: PostHogPersistedProperty): T | undefined;
38
+ setPersistedProperty<T>(key: PostHogPersistedProperty, value: T | null): void;
39
+ calculateEventProperties(eventName: string, eventProperties: PostHogEventProperties, timestamp: Date, uuid: string, readOnly?: boolean): Properties;
40
+ isIdentified(): boolean;
41
+ isCapturing(): boolean;
42
+ /**
43
+ * Add additional set_once properties to the event when creating a person profile. This allows us to create the
44
+ * profile with mostly-accurate properties, despite earlier events not setting them. We do this by storing them in
45
+ * persistence.
46
+ * @param dataSetOnce
47
+ */
48
+ calculateSetOnceProperties(dataSetOnce?: Properties): Properties | undefined;
49
+ capture(event: string, properties?: PostHogEventProperties, options?: LeanbaseCaptureOptions): void;
50
+ identify(distinctId?: string, properties?: PostHogEventProperties, options?: LeanbaseCaptureOptions): void;
51
+ destroy(): void;
52
+ private _isPersistenceDisabled;
53
+ }