@journium/core 1.2.1 → 1.3.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.
package/dist/index.d.ts CHANGED
@@ -5,6 +5,10 @@ interface JourniumEvent {
5
5
  event: string;
6
6
  properties: Record<string, unknown>;
7
7
  }
8
+ interface AutoTrackPageviewsOptions {
9
+ trackSpaPageviews?: boolean;
10
+ trackInitialPageview?: boolean;
11
+ }
8
12
  interface AutocaptureOptions {
9
13
  captureClicks?: boolean;
10
14
  captureFormSubmits?: boolean;
@@ -13,13 +17,15 @@ interface AutocaptureOptions {
13
17
  ignoreClasses?: string[];
14
18
  ignoreElements?: string[];
15
19
  captureContentText?: boolean;
20
+ dataAttributePrefixes?: string[];
21
+ dataAttributeNames?: string[];
16
22
  }
17
23
  interface JourniumServerOptions {
18
24
  debug?: boolean;
19
25
  flushAt?: number;
20
26
  flushInterval?: number;
21
27
  autocapture?: boolean | AutocaptureOptions;
22
- autoTrackPageviews?: boolean;
28
+ autoTrackPageviews?: boolean | AutoTrackPageviewsOptions;
23
29
  sessionTimeout?: number;
24
30
  ingestionPaused?: boolean;
25
31
  [key: string]: unknown;
@@ -35,8 +41,14 @@ interface JourniumLocalOptions {
35
41
  flushAt?: number;
36
42
  flushInterval?: number;
37
43
  autocapture?: boolean | AutocaptureOptions;
38
- autoTrackPageviews?: boolean;
44
+ autoTrackPageviews?: boolean | AutoTrackPageviewsOptions;
39
45
  sessionTimeout?: number;
46
+ /** @internal Used by framework SDKs (Angular, Next.js) to disable built-in pageview
47
+ * tracking without modifying autoTrackPageviews, so remote config can still override it. */
48
+ _frameworkHandlesPageviews?: boolean;
49
+ /** @internal SDK identifier in "package@version" format, e.g. "@journium/nextjs@1.2.0".
50
+ * Set automatically by each SDK package. */
51
+ _sdkVersion?: string;
40
52
  [key: string]: unknown;
41
53
  }
42
54
  interface JourniumConfig {
@@ -44,15 +56,47 @@ interface JourniumConfig {
44
56
  apiHost?: string;
45
57
  options?: JourniumLocalOptions;
46
58
  }
47
- interface PageviewProperties {
59
+ /** Page context fields shared by $pageview and $autocapture events. */
60
+ interface PageContextProperties {
48
61
  $current_url?: string;
49
62
  $host?: string;
50
63
  $pathname?: string;
51
64
  $search?: string;
52
- $title?: string;
65
+ $page_title?: string;
53
66
  $referrer?: string;
54
67
  [key: string]: unknown;
55
68
  }
69
+ interface PageviewProperties extends PageContextProperties {
70
+ }
71
+ /** Base properties shared by all autocapture event types. */
72
+ interface AutocaptureBaseProperties extends PageContextProperties {
73
+ $event_type: 'click' | 'submit' | 'change' | 'text_selection';
74
+ $element_tag?: string;
75
+ $element_type?: string;
76
+ $element_id?: string;
77
+ $element_classes?: string[];
78
+ $element_semantic_classes?: string[];
79
+ $element_name?: string;
80
+ $element_role?: string;
81
+ $element_aria_label?: string;
82
+ $element_data_testid?: string;
83
+ $element_data_track?: string;
84
+ $element_href?: string;
85
+ $element_text?: string;
86
+ $element_position?: {
87
+ x: number;
88
+ y: number;
89
+ width: number;
90
+ height: number;
91
+ };
92
+ $parent_tag?: string;
93
+ $parent_id?: string;
94
+ $elements_chain?: string;
95
+ $elements_chain_href?: string;
96
+ $elements_chain_elements?: string[];
97
+ $elements_chain_texts?: string[];
98
+ $elements_chain_ids?: string[];
99
+ }
56
100
 
57
101
  declare const generateId: () => string;
58
102
  declare const generateUuidv7: () => string;
@@ -109,4 +153,4 @@ declare class Logger {
109
153
  static info(...args: unknown[]): void;
110
154
  }
111
155
 
112
- export { AutocaptureOptions, BrowserIdentity, BrowserIdentityManager, JourniumConfig, JourniumEvent, JourniumLocalOptions, JourniumServerOptions, Logger, PageviewProperties, ServerOptionsResponse, UserAgentInfo, fetchRemoteOptions, generateId, generateUuidv7, getCurrentTimestamp, getCurrentUrl, getPageTitle, getReferrer, isBrowser, isNode, mergeOptions };
156
+ export { AutoTrackPageviewsOptions, AutocaptureBaseProperties, AutocaptureOptions, BrowserIdentity, BrowserIdentityManager, JourniumConfig, JourniumEvent, JourniumLocalOptions, JourniumServerOptions, Logger, PageContextProperties, PageviewProperties, ServerOptionsResponse, UserAgentInfo, fetchRemoteOptions, generateId, generateUuidv7, getCurrentTimestamp, getCurrentUrl, getPageTitle, getReferrer, isBrowser, isNode, mergeOptions };
package/dist/types.d.ts CHANGED
@@ -5,6 +5,10 @@ export interface JourniumEvent {
5
5
  event: string;
6
6
  properties: Record<string, unknown>;
7
7
  }
8
+ export interface AutoTrackPageviewsOptions {
9
+ trackSpaPageviews?: boolean;
10
+ trackInitialPageview?: boolean;
11
+ }
8
12
  export interface AutocaptureOptions {
9
13
  captureClicks?: boolean;
10
14
  captureFormSubmits?: boolean;
@@ -13,13 +17,15 @@ export interface AutocaptureOptions {
13
17
  ignoreClasses?: string[];
14
18
  ignoreElements?: string[];
15
19
  captureContentText?: boolean;
20
+ dataAttributePrefixes?: string[];
21
+ dataAttributeNames?: string[];
16
22
  }
17
23
  export interface JourniumServerOptions {
18
24
  debug?: boolean;
19
25
  flushAt?: number;
20
26
  flushInterval?: number;
21
27
  autocapture?: boolean | AutocaptureOptions;
22
- autoTrackPageviews?: boolean;
28
+ autoTrackPageviews?: boolean | AutoTrackPageviewsOptions;
23
29
  sessionTimeout?: number;
24
30
  ingestionPaused?: boolean;
25
31
  [key: string]: unknown;
@@ -35,8 +41,14 @@ export interface JourniumLocalOptions {
35
41
  flushAt?: number;
36
42
  flushInterval?: number;
37
43
  autocapture?: boolean | AutocaptureOptions;
38
- autoTrackPageviews?: boolean;
44
+ autoTrackPageviews?: boolean | AutoTrackPageviewsOptions;
39
45
  sessionTimeout?: number;
46
+ /** @internal Used by framework SDKs (Angular, Next.js) to disable built-in pageview
47
+ * tracking without modifying autoTrackPageviews, so remote config can still override it. */
48
+ _frameworkHandlesPageviews?: boolean;
49
+ /** @internal SDK identifier in "package@version" format, e.g. "@journium/nextjs@1.2.0".
50
+ * Set automatically by each SDK package. */
51
+ _sdkVersion?: string;
40
52
  [key: string]: unknown;
41
53
  }
42
54
  export interface JourniumConfig {
@@ -44,13 +56,45 @@ export interface JourniumConfig {
44
56
  apiHost?: string;
45
57
  options?: JourniumLocalOptions;
46
58
  }
47
- export interface PageviewProperties {
59
+ /** Page context fields shared by $pageview and $autocapture events. */
60
+ export interface PageContextProperties {
48
61
  $current_url?: string;
49
62
  $host?: string;
50
63
  $pathname?: string;
51
64
  $search?: string;
52
- $title?: string;
65
+ $page_title?: string;
53
66
  $referrer?: string;
54
67
  [key: string]: unknown;
55
68
  }
69
+ export interface PageviewProperties extends PageContextProperties {
70
+ }
71
+ /** Base properties shared by all autocapture event types. */
72
+ export interface AutocaptureBaseProperties extends PageContextProperties {
73
+ $event_type: 'click' | 'submit' | 'change' | 'text_selection';
74
+ $element_tag?: string;
75
+ $element_type?: string;
76
+ $element_id?: string;
77
+ $element_classes?: string[];
78
+ $element_semantic_classes?: string[];
79
+ $element_name?: string;
80
+ $element_role?: string;
81
+ $element_aria_label?: string;
82
+ $element_data_testid?: string;
83
+ $element_data_track?: string;
84
+ $element_href?: string;
85
+ $element_text?: string;
86
+ $element_position?: {
87
+ x: number;
88
+ y: number;
89
+ width: number;
90
+ height: number;
91
+ };
92
+ $parent_tag?: string;
93
+ $parent_id?: string;
94
+ $elements_chain?: string;
95
+ $elements_chain_href?: string;
96
+ $elements_chain_elements?: string[];
97
+ $elements_chain_texts?: string[];
98
+ $elements_chain_ids?: string[];
99
+ }
56
100
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,UAAU,QAAO,MAE7B,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,MAEjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,MAEtC,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,MAKhC,CAAC;AAEF,eAAO,MAAM,YAAY,QAAO,MAK/B,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,MAK9B,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,OAE5B,CAAC;AAEF,eAAO,MAAM,MAAM,QAAO,OAEzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,YACpB,MAAM,kBACC,MAAM,YACZ,OAAO,KAAK,KACrB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAkCtC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,gBAC9C,CAAC,GAAG,IAAI,GAAG,SAAS,iBACnB,CAAC,GAAG,IAAI,GAAG,SAAS,KAClC,CAmCF,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,UAAU,QAAO,MAE7B,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,MAEjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,MAEtC,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,MAKhC,CAAC;AAEF,eAAO,MAAM,YAAY,QAAO,MAK/B,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,MAK9B,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,OAE5B,CAAC;AAEF,eAAO,MAAM,MAAM,QAAO,OAEzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,gBAAgB,MAAM,EACtB,UAAU,OAAO,KAAK,KACrB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAkCtC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,cAAc,CAAC,GAAG,IAAI,GAAG,SAAS,EAClC,eAAe,CAAC,GAAG,IAAI,GAAG,SAAS,KAClC,CAmCF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@journium/core",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "license": "MIT",
5
5
  "description": "Core functionality and types for Journium SDK - identity, events, and configuration",
6
6
  "main": "dist/index.cjs",