@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.
- package/LICENSE +37 -0
- package/dist/autocapture-utils.d.ts +17 -0
- package/dist/autocapture.d.ts +35 -0
- package/dist/config.d.ts +5 -0
- package/dist/consent.d.ts +25 -0
- package/dist/constants.d.ts +54 -0
- package/dist/entrypoints/main.cjs.d.ts +4 -0
- package/dist/entrypoints/module.es.d.ts +4 -0
- package/dist/extensions/rageclick.d.ts +9 -0
- package/dist/iife.d.ts +19 -0
- package/dist/index.d.ts +2 -779
- package/dist/leanbase-logger.d.ts +6 -0
- package/dist/leanbase-persistence.d.ts +64 -0
- package/dist/leanbase.d.ts +53 -0
- package/dist/leanbase.iife.js +1 -4747
- package/dist/leanbase.iife.js.map +1 -1
- package/dist/main.js +2 -0
- package/dist/main.js.map +1 -0
- package/dist/module.d.ts +856 -0
- package/dist/module.js +2 -0
- package/dist/module.js.map +1 -0
- package/dist/page-view.d.ts +29 -0
- package/dist/scroll-manager.d.ts +21 -0
- package/dist/session-props.d.ts +32 -0
- package/dist/sessionid.d.ts +50 -0
- package/dist/storage.d.ts +24 -0
- package/{src/types.ts → dist/types.d.ts} +200 -242
- package/dist/utils/blocked-uas.d.ts +17 -0
- package/dist/utils/element-utils.d.ts +5 -0
- package/dist/utils/event-utils.d.ts +22 -0
- package/dist/utils/index.d.ts +46 -0
- package/dist/utils/request-utils.d.ts +12 -0
- package/dist/utils/simple-event-emitter.d.ts +6 -0
- package/dist/utils/user-agent-utils.d.ts +18 -0
- package/dist/uuidv7.d.ts +43 -0
- package/dist/version.d.ts +1 -0
- package/lib/autocapture-utils.d.ts +17 -0
- package/{src/autocapture-utils.ts → lib/autocapture-utils.js} +196 -280
- package/lib/autocapture-utils.js.map +1 -0
- package/lib/autocapture.d.ts +35 -0
- package/lib/autocapture.js +311 -0
- package/lib/autocapture.js.map +1 -0
- package/lib/config.d.ts +5 -0
- package/lib/config.js +7 -0
- package/lib/config.js.map +1 -0
- package/lib/consent.d.ts +25 -0
- package/lib/consent.js +101 -0
- package/lib/consent.js.map +1 -0
- package/lib/constants.d.ts +54 -0
- package/{src/constants.ts → lib/constants.js} +50 -57
- package/lib/constants.js.map +1 -0
- package/lib/entrypoints/main.cjs.d.ts +4 -0
- package/lib/entrypoints/main.cjs.js +3 -0
- package/lib/entrypoints/main.cjs.js.map +1 -0
- package/lib/entrypoints/module.es.d.ts +4 -0
- package/lib/entrypoints/module.es.js +3 -0
- package/lib/entrypoints/module.es.js.map +1 -0
- package/lib/extensions/rageclick.d.ts +9 -0
- package/lib/extensions/rageclick.js +27 -0
- package/lib/extensions/rageclick.js.map +1 -0
- package/lib/iife.d.ts +19 -0
- package/lib/iife.js +67 -0
- package/lib/iife.js.map +1 -0
- package/{src/index.ts → lib/index.d.ts} +2 -2
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/lib/leanbase-logger.d.ts +6 -0
- package/lib/leanbase-logger.js +25 -0
- package/lib/leanbase-logger.js.map +1 -0
- package/lib/leanbase-persistence.d.ts +64 -0
- package/lib/leanbase-persistence.js +287 -0
- package/lib/leanbase-persistence.js.map +1 -0
- package/lib/leanbase.d.ts +53 -0
- package/lib/leanbase.js +359 -0
- package/lib/leanbase.js.map +1 -0
- package/lib/page-view.d.ts +29 -0
- package/lib/page-view.js +81 -0
- package/lib/page-view.js.map +1 -0
- package/lib/scroll-manager.d.ts +21 -0
- package/lib/scroll-manager.js +79 -0
- package/lib/scroll-manager.js.map +1 -0
- package/lib/session-props.d.ts +32 -0
- package/lib/session-props.js +73 -0
- package/lib/session-props.js.map +1 -0
- package/lib/sessionid.d.ts +50 -0
- package/{src/sessionid.ts → lib/sessionid.js} +128 -204
- package/lib/sessionid.js.map +1 -0
- package/lib/storage.d.ts +24 -0
- package/{src/storage.ts → lib/storage.js} +182 -225
- package/lib/storage.js.map +1 -0
- package/lib/types.d.ts +592 -0
- package/lib/types.js +7 -0
- package/lib/types.js.map +1 -0
- package/lib/utils/blocked-uas.d.ts +17 -0
- package/{src/utils/blocked-uas.ts → lib/utils/blocked-uas.js} +19 -48
- package/lib/utils/blocked-uas.js.map +1 -0
- package/lib/utils/element-utils.d.ts +5 -0
- package/{src/utils/element-utils.ts → lib/utils/element-utils.js} +13 -17
- package/lib/utils/element-utils.js.map +1 -0
- package/lib/utils/event-utils.d.ts +22 -0
- package/lib/utils/event-utils.js +258 -0
- package/lib/utils/event-utils.js.map +1 -0
- package/lib/utils/index.d.ts +46 -0
- package/lib/utils/index.js +192 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/request-utils.d.ts +12 -0
- package/lib/utils/request-utils.js +107 -0
- package/lib/utils/request-utils.js.map +1 -0
- package/lib/utils/simple-event-emitter.d.ts +6 -0
- package/lib/utils/simple-event-emitter.js +24 -0
- package/lib/utils/simple-event-emitter.js.map +1 -0
- package/lib/utils/user-agent-utils.d.ts +18 -0
- package/lib/utils/user-agent-utils.js +369 -0
- package/lib/utils/user-agent-utils.js.map +1 -0
- package/lib/uuidv7.d.ts +43 -0
- package/{src/uuidv7.ts → lib/uuidv7.js} +103 -131
- package/lib/uuidv7.js.map +1 -0
- package/lib/version.d.ts +1 -0
- package/lib/version.js +2 -0
- package/lib/version.js.map +1 -0
- package/package.json +56 -45
- package/dist/index.cjs +0 -3034
- package/dist/index.cjs.map +0 -1
- package/dist/index.mjs +0 -3032
- package/dist/index.mjs.map +0 -1
- package/src/autocapture.ts +0 -415
- package/src/config.ts +0 -8
- package/src/extensions/rageclick.ts +0 -34
- package/src/iife.ts +0 -87
- package/src/leanbase-logger.ts +0 -26
- package/src/leanbase-persistence.ts +0 -374
- package/src/leanbase.ts +0 -424
- package/src/page-view.ts +0 -124
- package/src/scroll-manager.ts +0 -103
- package/src/session-props.ts +0 -114
- package/src/utils/event-utils.ts +0 -304
- package/src/utils/index.ts +0 -222
- package/src/utils/request-utils.ts +0 -128
- package/src/utils/simple-event-emitter.ts +0 -27
- package/src/utils/user-agent-utils.ts +0 -357
- package/src/version.ts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocapture-utils.js","sourceRoot":"","sources":["../src/autocapture-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import RageClick from './extensions/rageclick';
|
|
2
|
+
import { Properties, RemoteConfig } from './types';
|
|
3
|
+
import { Leanbase } from './leanbase';
|
|
4
|
+
export declare function getAugmentPropertiesFromElement(elem: Element): Properties;
|
|
5
|
+
export declare function previousElementSibling(el: Element): Element | null;
|
|
6
|
+
export declare function getDefaultProperties(eventType: string): Properties;
|
|
7
|
+
export declare function getPropertiesFromElement(elem: Element, maskAllAttributes: boolean, maskText: boolean, elementAttributeIgnorelist: string[] | undefined): Properties;
|
|
8
|
+
export declare function autocapturePropertiesForElement(target: Element, { e, maskAllElementAttributes, maskAllText, elementAttributeIgnoreList, elementsChainAsString, }: {
|
|
9
|
+
e: Event;
|
|
10
|
+
maskAllElementAttributes: boolean;
|
|
11
|
+
maskAllText: boolean;
|
|
12
|
+
elementAttributeIgnoreList?: string[] | undefined;
|
|
13
|
+
elementsChainAsString: boolean;
|
|
14
|
+
}): {
|
|
15
|
+
props: Properties;
|
|
16
|
+
explicitNoCapture?: boolean;
|
|
17
|
+
};
|
|
18
|
+
export declare class Autocapture {
|
|
19
|
+
instance: Leanbase;
|
|
20
|
+
_initialized: boolean;
|
|
21
|
+
_isDisabledServerSide: boolean | null;
|
|
22
|
+
_elementSelectors: Set<string> | null;
|
|
23
|
+
rageclicks: RageClick;
|
|
24
|
+
_elementsChainAsString: boolean;
|
|
25
|
+
constructor(instance: Leanbase);
|
|
26
|
+
private get _config();
|
|
27
|
+
_addDomEventHandlers(): void;
|
|
28
|
+
startIfEnabled(): void;
|
|
29
|
+
onRemoteConfig(response: RemoteConfig): void;
|
|
30
|
+
setElementSelectors(selectors: Set<string>): void;
|
|
31
|
+
getElementSelectors(element: Element | null): string[] | null;
|
|
32
|
+
get isEnabled(): boolean;
|
|
33
|
+
private _captureEvent;
|
|
34
|
+
isBrowserSupported(): boolean;
|
|
35
|
+
}
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
import { addEventListener, each, extend } from './utils';
|
|
2
|
+
import { autocaptureCompatibleElements, getClassNames, getDirectAndNestedSpanText, getElementsChainString, getEventTarget, getSafeText, isAngularStyleAttr, isSensitiveElement, makeSafeText, shouldCaptureDomEvent, shouldCaptureElement, shouldCaptureRageclick, shouldCaptureValue, splitClassString, } from './autocapture-utils';
|
|
3
|
+
import RageClick from './extensions/rageclick';
|
|
4
|
+
import { COPY_AUTOCAPTURE_EVENT } from './types';
|
|
5
|
+
import { AUTOCAPTURE_DISABLED_SERVER_SIDE } from './constants';
|
|
6
|
+
import { isBoolean, isFunction, isNull, isObject } from '@posthog/core';
|
|
7
|
+
import { document, window } from './utils';
|
|
8
|
+
import { convertToURL } from './utils/request-utils';
|
|
9
|
+
import { isDocumentFragment, isElementNode, isTag, isTextNode } from './utils/element-utils';
|
|
10
|
+
import { includes } from '@posthog/core';
|
|
11
|
+
import { logger } from './leanbase-logger';
|
|
12
|
+
function limitText(length, text) {
|
|
13
|
+
if (text.length > length) {
|
|
14
|
+
return text.slice(0, length) + '...';
|
|
15
|
+
}
|
|
16
|
+
return text;
|
|
17
|
+
}
|
|
18
|
+
export function getAugmentPropertiesFromElement(elem) {
|
|
19
|
+
const shouldCaptureEl = shouldCaptureElement(elem);
|
|
20
|
+
if (!shouldCaptureEl) {
|
|
21
|
+
return {};
|
|
22
|
+
}
|
|
23
|
+
const props = {};
|
|
24
|
+
each(elem.attributes, function (attr) {
|
|
25
|
+
if (attr.name && attr.name.indexOf('data-ph-capture-attribute') === 0) {
|
|
26
|
+
const propertyKey = attr.name.replace('data-ph-capture-attribute-', '');
|
|
27
|
+
const propertyValue = attr.value;
|
|
28
|
+
if (propertyKey && propertyValue && shouldCaptureValue(propertyValue)) {
|
|
29
|
+
props[propertyKey] = propertyValue;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return props;
|
|
34
|
+
}
|
|
35
|
+
export function previousElementSibling(el) {
|
|
36
|
+
if (el.previousElementSibling) {
|
|
37
|
+
return el.previousElementSibling;
|
|
38
|
+
}
|
|
39
|
+
let _el = el;
|
|
40
|
+
do {
|
|
41
|
+
_el = _el.previousSibling; // resolves to ChildNode->Node, which is Element's parent class
|
|
42
|
+
} while (_el && !isElementNode(_el));
|
|
43
|
+
return _el;
|
|
44
|
+
}
|
|
45
|
+
export function getDefaultProperties(eventType) {
|
|
46
|
+
return {
|
|
47
|
+
$event_type: eventType,
|
|
48
|
+
$ce_version: 1,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export function getPropertiesFromElement(elem, maskAllAttributes, maskText, elementAttributeIgnorelist) {
|
|
52
|
+
const tag_name = elem.tagName.toLowerCase();
|
|
53
|
+
const props = {
|
|
54
|
+
tag_name: tag_name,
|
|
55
|
+
};
|
|
56
|
+
if (autocaptureCompatibleElements.indexOf(tag_name) > -1 && !maskText) {
|
|
57
|
+
if (tag_name.toLowerCase() === 'a' || tag_name.toLowerCase() === 'button') {
|
|
58
|
+
props['$el_text'] = limitText(1024, getDirectAndNestedSpanText(elem));
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
props['$el_text'] = limitText(1024, getSafeText(elem));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const classes = getClassNames(elem);
|
|
65
|
+
if (classes.length > 0)
|
|
66
|
+
props['classes'] = classes.filter(function (c) {
|
|
67
|
+
return c !== '';
|
|
68
|
+
});
|
|
69
|
+
// capture the deny list here because this not-a-class class makes it tricky to use this.config in the function below
|
|
70
|
+
each(elem.attributes, function (attr) {
|
|
71
|
+
// Only capture attributes we know are safe
|
|
72
|
+
if (isSensitiveElement(elem) && ['name', 'id', 'class', 'aria-label'].indexOf(attr.name) === -1)
|
|
73
|
+
return;
|
|
74
|
+
if (elementAttributeIgnorelist?.includes(attr.name))
|
|
75
|
+
return;
|
|
76
|
+
if (!maskAllAttributes && shouldCaptureValue(attr.value) && !isAngularStyleAttr(attr.name)) {
|
|
77
|
+
let value = attr.value;
|
|
78
|
+
if (attr.name === 'class') {
|
|
79
|
+
// html attributes can _technically_ contain linebreaks,
|
|
80
|
+
// but we're very intolerant of them in the class string,
|
|
81
|
+
// so we strip them.
|
|
82
|
+
value = splitClassString(value).join(' ');
|
|
83
|
+
}
|
|
84
|
+
props['attr__' + attr.name] = limitText(1024, value);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
let nthChild = 1;
|
|
88
|
+
let nthOfType = 1;
|
|
89
|
+
let currentElem = elem;
|
|
90
|
+
while ((currentElem = previousElementSibling(currentElem))) {
|
|
91
|
+
// eslint-disable-line no-cond-assign
|
|
92
|
+
nthChild++;
|
|
93
|
+
if (currentElem.tagName === elem.tagName) {
|
|
94
|
+
nthOfType++;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
props['nth_child'] = nthChild;
|
|
98
|
+
props['nth_of_type'] = nthOfType;
|
|
99
|
+
return props;
|
|
100
|
+
}
|
|
101
|
+
export function autocapturePropertiesForElement(target, { e, maskAllElementAttributes, maskAllText, elementAttributeIgnoreList, elementsChainAsString, }) {
|
|
102
|
+
const targetElementList = [target];
|
|
103
|
+
let curEl = target;
|
|
104
|
+
while (curEl.parentNode && !isTag(curEl, 'body')) {
|
|
105
|
+
if (isDocumentFragment(curEl.parentNode)) {
|
|
106
|
+
targetElementList.push(curEl.parentNode.host);
|
|
107
|
+
curEl = curEl.parentNode.host;
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
targetElementList.push(curEl.parentNode);
|
|
111
|
+
curEl = curEl.parentNode;
|
|
112
|
+
}
|
|
113
|
+
const elementsJson = [];
|
|
114
|
+
const autocaptureAugmentProperties = {};
|
|
115
|
+
let href = false;
|
|
116
|
+
let explicitNoCapture = false;
|
|
117
|
+
each(targetElementList, (el) => {
|
|
118
|
+
const shouldCaptureEl = shouldCaptureElement(el);
|
|
119
|
+
// if the element or a parent element is an anchor tag
|
|
120
|
+
// include the href as a property
|
|
121
|
+
if (el.tagName.toLowerCase() === 'a') {
|
|
122
|
+
href = el.getAttribute('href');
|
|
123
|
+
href = shouldCaptureEl && href && shouldCaptureValue(href) && href;
|
|
124
|
+
}
|
|
125
|
+
// allow users to programmatically prevent capturing of elements by adding class 'ph-no-capture'
|
|
126
|
+
const classes = getClassNames(el);
|
|
127
|
+
if (includes(classes, 'ph-no-capture')) {
|
|
128
|
+
explicitNoCapture = true;
|
|
129
|
+
}
|
|
130
|
+
elementsJson.push(getPropertiesFromElement(el, maskAllElementAttributes, maskAllText, elementAttributeIgnoreList));
|
|
131
|
+
const augmentProperties = getAugmentPropertiesFromElement(el);
|
|
132
|
+
extend(autocaptureAugmentProperties, augmentProperties);
|
|
133
|
+
});
|
|
134
|
+
if (explicitNoCapture) {
|
|
135
|
+
return { props: {}, explicitNoCapture };
|
|
136
|
+
}
|
|
137
|
+
if (!maskAllText) {
|
|
138
|
+
// if the element is a button or anchor tag get the span text from any
|
|
139
|
+
// children and include it as/with the text property on the parent element
|
|
140
|
+
if (target.tagName.toLowerCase() === 'a' || target.tagName.toLowerCase() === 'button') {
|
|
141
|
+
elementsJson[0]['$el_text'] = getDirectAndNestedSpanText(target);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
elementsJson[0]['$el_text'] = getSafeText(target);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
let externalHref;
|
|
148
|
+
if (href) {
|
|
149
|
+
elementsJson[0]['attr__href'] = href;
|
|
150
|
+
const hrefHost = convertToURL(href)?.host;
|
|
151
|
+
const locationHost = window?.location?.host;
|
|
152
|
+
if (hrefHost && locationHost && hrefHost !== locationHost) {
|
|
153
|
+
externalHref = href;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
const props = extend(getDefaultProperties(e.type),
|
|
157
|
+
// Sending "$elements" is deprecated. Only one client on US cloud uses this.
|
|
158
|
+
!elementsChainAsString ? { $elements: elementsJson } : {},
|
|
159
|
+
// Always send $elements_chain, as it's needed downstream in site app filtering
|
|
160
|
+
{ $elements_chain: getElementsChainString(elementsJson) }, elementsJson[0]?.['$el_text'] ? { $el_text: elementsJson[0]?.['$el_text'] } : {}, externalHref && e.type === 'click' ? { $external_click_url: externalHref } : {}, autocaptureAugmentProperties);
|
|
161
|
+
return { props };
|
|
162
|
+
}
|
|
163
|
+
export class Autocapture {
|
|
164
|
+
constructor(instance) {
|
|
165
|
+
this._initialized = false;
|
|
166
|
+
this._isDisabledServerSide = null;
|
|
167
|
+
this.rageclicks = new RageClick();
|
|
168
|
+
this._elementsChainAsString = false;
|
|
169
|
+
this.instance = instance;
|
|
170
|
+
this._elementSelectors = null;
|
|
171
|
+
}
|
|
172
|
+
get _config() {
|
|
173
|
+
const config = isObject(this.instance.config.autocapture) ? this.instance.config.autocapture : {};
|
|
174
|
+
// precompile the regex
|
|
175
|
+
config.url_allowlist = config.url_allowlist?.map((url) => new RegExp(url));
|
|
176
|
+
config.url_ignorelist = config.url_ignorelist?.map((url) => new RegExp(url));
|
|
177
|
+
return config;
|
|
178
|
+
}
|
|
179
|
+
_addDomEventHandlers() {
|
|
180
|
+
if (!this.isBrowserSupported()) {
|
|
181
|
+
logger.info('Disabling Automatic Event Collection because this browser is not supported');
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
if (!window || !document) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const handler = (e) => {
|
|
188
|
+
e = e || window?.event;
|
|
189
|
+
try {
|
|
190
|
+
this._captureEvent(e);
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
logger.error('Failed to capture event', error);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
addEventListener(document, 'submit', handler, { capture: true });
|
|
197
|
+
addEventListener(document, 'change', handler, { capture: true });
|
|
198
|
+
addEventListener(document, 'click', handler, { capture: true });
|
|
199
|
+
if (this._config.capture_copied_text) {
|
|
200
|
+
const copiedTextHandler = (e) => {
|
|
201
|
+
e = e || window?.event;
|
|
202
|
+
this._captureEvent(e, COPY_AUTOCAPTURE_EVENT);
|
|
203
|
+
};
|
|
204
|
+
addEventListener(document, 'copy', copiedTextHandler, { capture: true });
|
|
205
|
+
addEventListener(document, 'cut', copiedTextHandler, { capture: true });
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
startIfEnabled() {
|
|
209
|
+
if (this.isEnabled && !this._initialized) {
|
|
210
|
+
this._addDomEventHandlers();
|
|
211
|
+
this._initialized = true;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
onRemoteConfig(response) {
|
|
215
|
+
if (response.elementsChainAsString) {
|
|
216
|
+
this._elementsChainAsString = response.elementsChainAsString;
|
|
217
|
+
}
|
|
218
|
+
if (this.instance.persistence) {
|
|
219
|
+
this.instance.persistence.register({
|
|
220
|
+
[AUTOCAPTURE_DISABLED_SERVER_SIDE]: !!response['autocapture_opt_out'],
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
this._isDisabledServerSide = !!response['autocapture_opt_out'];
|
|
224
|
+
this.startIfEnabled();
|
|
225
|
+
}
|
|
226
|
+
setElementSelectors(selectors) {
|
|
227
|
+
this._elementSelectors = selectors;
|
|
228
|
+
}
|
|
229
|
+
getElementSelectors(element) {
|
|
230
|
+
const elementSelectors = [];
|
|
231
|
+
this._elementSelectors?.forEach((selector) => {
|
|
232
|
+
const matchedElements = document?.querySelectorAll(selector);
|
|
233
|
+
matchedElements?.forEach((matchedElement) => {
|
|
234
|
+
if (element === matchedElement) {
|
|
235
|
+
elementSelectors.push(selector);
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
return elementSelectors;
|
|
240
|
+
}
|
|
241
|
+
get isEnabled() {
|
|
242
|
+
const persistedServerDisabled = this.instance.persistence?.props[AUTOCAPTURE_DISABLED_SERVER_SIDE];
|
|
243
|
+
const memoryDisabled = this._isDisabledServerSide;
|
|
244
|
+
if (isNull(memoryDisabled) && !isBoolean(persistedServerDisabled)) {
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
const disabledServer = this._isDisabledServerSide ?? !!persistedServerDisabled;
|
|
248
|
+
const disabledClient = !this.instance.config.autocapture;
|
|
249
|
+
return !disabledClient && !disabledServer;
|
|
250
|
+
}
|
|
251
|
+
_captureEvent(e, eventName = '$autocapture') {
|
|
252
|
+
if (!this.isEnabled) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
/*** Don't mess with this code without running IE8 tests on it ***/
|
|
256
|
+
let target = getEventTarget(e);
|
|
257
|
+
if (isTextNode(target)) {
|
|
258
|
+
// defeat Safari bug (see: http://www.quirksmode.org/js/events_properties.html)
|
|
259
|
+
target = (target.parentNode || null);
|
|
260
|
+
}
|
|
261
|
+
if (eventName === '$autocapture' && e.type === 'click' && e instanceof MouseEvent) {
|
|
262
|
+
if (!!this.instance.config.rageclick &&
|
|
263
|
+
this.rageclicks?.isRageClick(e.clientX, e.clientY, new Date().getTime())) {
|
|
264
|
+
if (shouldCaptureRageclick(target, this.instance.config.rageclick)) {
|
|
265
|
+
this._captureEvent(e, '$rageclick');
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
const isCopyAutocapture = eventName === COPY_AUTOCAPTURE_EVENT;
|
|
270
|
+
if (target &&
|
|
271
|
+
shouldCaptureDomEvent(target, e, this._config,
|
|
272
|
+
// mostly this method cares about the target element, but in the case of copy events,
|
|
273
|
+
// we want some of the work this check does without insisting on the target element's type
|
|
274
|
+
isCopyAutocapture,
|
|
275
|
+
// we also don't want to restrict copy checks to clicks,
|
|
276
|
+
// so we pass that knowledge in here, rather than add the logic inside the check
|
|
277
|
+
isCopyAutocapture ? ['copy', 'cut'] : undefined)) {
|
|
278
|
+
const { props, explicitNoCapture } = autocapturePropertiesForElement(target, {
|
|
279
|
+
e,
|
|
280
|
+
maskAllElementAttributes: this.instance.config.mask_all_element_attributes,
|
|
281
|
+
maskAllText: this.instance.config.mask_all_text,
|
|
282
|
+
elementAttributeIgnoreList: this._config.element_attribute_ignorelist,
|
|
283
|
+
elementsChainAsString: this._elementsChainAsString,
|
|
284
|
+
});
|
|
285
|
+
if (explicitNoCapture) {
|
|
286
|
+
return false;
|
|
287
|
+
}
|
|
288
|
+
const elementSelectors = this.getElementSelectors(target);
|
|
289
|
+
if (elementSelectors && elementSelectors.length > 0) {
|
|
290
|
+
props['$element_selectors'] = elementSelectors;
|
|
291
|
+
}
|
|
292
|
+
if (eventName === COPY_AUTOCAPTURE_EVENT) {
|
|
293
|
+
// you can't read the data from the clipboard event,
|
|
294
|
+
// but you can guess that you can read it from the window's current selection
|
|
295
|
+
const selectedContent = makeSafeText(window?.getSelection()?.toString());
|
|
296
|
+
const clipType = e.type || 'clipboard';
|
|
297
|
+
if (!selectedContent) {
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
props['$selected_content'] = selectedContent;
|
|
301
|
+
props['$copy_type'] = clipType;
|
|
302
|
+
}
|
|
303
|
+
this.instance.capture(eventName, props);
|
|
304
|
+
return true;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
isBrowserSupported() {
|
|
308
|
+
return isFunction(document?.querySelectorAll);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
//# sourceMappingURL=autocapture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocapture.js","sourceRoot":"","sources":["../src/autocapture.ts"],"names":[],"mappings":"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"}
|
package/lib/config.d.ts
ADDED
package/lib/config.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,iBAAiB,CAAA;AAEzC,MAAM,MAAM,GAAG;IACX,KAAK,EAAE,KAAK;IACZ,WAAW,EAAE,WAAW,CAAC,OAAO;CACnC,CAAA;AAED,eAAe,MAAM,CAAA"}
|
package/lib/consent.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Leanbase } from './leanbase';
|
|
2
|
+
export declare enum ConsentStatus {
|
|
3
|
+
PENDING = -1,
|
|
4
|
+
DENIED = 0,
|
|
5
|
+
GRANTED = 1
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* ConsentManager provides tools for managing user consent as configured by the application.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ConsentManager {
|
|
11
|
+
private _instance;
|
|
12
|
+
private _persistentStore?;
|
|
13
|
+
constructor(_instance: Leanbase);
|
|
14
|
+
private get _config();
|
|
15
|
+
get consent(): ConsentStatus;
|
|
16
|
+
isOptedOut(): boolean;
|
|
17
|
+
isOptedIn(): boolean;
|
|
18
|
+
isExplicitlyOptedOut(): boolean;
|
|
19
|
+
optInOut(isOptedIn: boolean): void;
|
|
20
|
+
reset(): void;
|
|
21
|
+
private get _storageKey();
|
|
22
|
+
private get _storedConsent();
|
|
23
|
+
private get _storage();
|
|
24
|
+
private _getDnt;
|
|
25
|
+
}
|
package/lib/consent.js
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { find } from './utils';
|
|
2
|
+
import { assignableWindow, navigator } from './utils';
|
|
3
|
+
import { cookieStore, localStore } from './storage';
|
|
4
|
+
import { isNoLike, isYesLike } from '@posthog/core';
|
|
5
|
+
const OPT_OUT_PREFIX = '__lb_opt_in_out_';
|
|
6
|
+
export var ConsentStatus;
|
|
7
|
+
(function (ConsentStatus) {
|
|
8
|
+
ConsentStatus[ConsentStatus["PENDING"] = -1] = "PENDING";
|
|
9
|
+
ConsentStatus[ConsentStatus["DENIED"] = 0] = "DENIED";
|
|
10
|
+
ConsentStatus[ConsentStatus["GRANTED"] = 1] = "GRANTED";
|
|
11
|
+
})(ConsentStatus || (ConsentStatus = {}));
|
|
12
|
+
/**
|
|
13
|
+
* ConsentManager provides tools for managing user consent as configured by the application.
|
|
14
|
+
*/
|
|
15
|
+
export class ConsentManager {
|
|
16
|
+
constructor(_instance) {
|
|
17
|
+
this._instance = _instance;
|
|
18
|
+
}
|
|
19
|
+
get _config() {
|
|
20
|
+
return this._instance.config;
|
|
21
|
+
}
|
|
22
|
+
get consent() {
|
|
23
|
+
if (this._getDnt()) {
|
|
24
|
+
return ConsentStatus.DENIED;
|
|
25
|
+
}
|
|
26
|
+
return this._storedConsent;
|
|
27
|
+
}
|
|
28
|
+
isOptedOut() {
|
|
29
|
+
if (this._config.cookieless_mode === 'always') {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
// we are opted out if:
|
|
33
|
+
// * consent is explicitly denied
|
|
34
|
+
// * consent is pending, and we are configured to opt out by default
|
|
35
|
+
// * consent is pending, and we are in cookieless mode "on_reject"
|
|
36
|
+
return (this.consent === ConsentStatus.DENIED ||
|
|
37
|
+
(this.consent === ConsentStatus.PENDING &&
|
|
38
|
+
(this._config.opt_out_capturing_by_default || this._config.cookieless_mode === 'on_reject')));
|
|
39
|
+
}
|
|
40
|
+
isOptedIn() {
|
|
41
|
+
return !this.isOptedOut();
|
|
42
|
+
}
|
|
43
|
+
isExplicitlyOptedOut() {
|
|
44
|
+
return this.consent === ConsentStatus.DENIED;
|
|
45
|
+
}
|
|
46
|
+
optInOut(isOptedIn) {
|
|
47
|
+
this._storage._set(this._storageKey, isOptedIn ? 1 : 0, this._config.cookie_expiration, this._config.cross_subdomain_cookie, this._config.secure_cookie);
|
|
48
|
+
}
|
|
49
|
+
reset() {
|
|
50
|
+
this._storage._remove(this._storageKey, this._config.cross_subdomain_cookie);
|
|
51
|
+
}
|
|
52
|
+
get _storageKey() {
|
|
53
|
+
const { token, opt_out_capturing_cookie_prefix, consent_persistence_name } = this._instance.config;
|
|
54
|
+
if (consent_persistence_name) {
|
|
55
|
+
return consent_persistence_name;
|
|
56
|
+
}
|
|
57
|
+
else if (opt_out_capturing_cookie_prefix) {
|
|
58
|
+
// Deprecated, but we still support it for backwards compatibility.
|
|
59
|
+
// This was deprecated because it differed in behaviour from storage.ts, and appends the token.
|
|
60
|
+
// This meant it was not possible to share the same consent state across multiple PostHog instances,
|
|
61
|
+
// and made it harder for people to migrate from other systems.
|
|
62
|
+
return opt_out_capturing_cookie_prefix + token;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
return OPT_OUT_PREFIX + token;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
get _storedConsent() {
|
|
69
|
+
const value = this._storage._get(this._storageKey);
|
|
70
|
+
// be somewhat permissive in what we accept as yes/opt-in, to make it easier for people to migrate from other systems
|
|
71
|
+
return isYesLike(value) ? ConsentStatus.GRANTED : isNoLike(value) ? ConsentStatus.DENIED : ConsentStatus.PENDING;
|
|
72
|
+
}
|
|
73
|
+
get _storage() {
|
|
74
|
+
if (!this._persistentStore) {
|
|
75
|
+
const persistenceType = this._config.opt_out_capturing_persistence_type;
|
|
76
|
+
this._persistentStore = persistenceType === 'localStorage' ? localStore : cookieStore;
|
|
77
|
+
const otherStorage = persistenceType === 'localStorage' ? cookieStore : localStore;
|
|
78
|
+
if (otherStorage._get(this._storageKey)) {
|
|
79
|
+
if (!this._persistentStore._get(this._storageKey)) {
|
|
80
|
+
// This indicates we have moved to a new storage format so we migrate the value over
|
|
81
|
+
this.optInOut(isYesLike(otherStorage._get(this._storageKey)));
|
|
82
|
+
}
|
|
83
|
+
otherStorage._remove(this._storageKey, this._config.cross_subdomain_cookie);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return this._persistentStore;
|
|
87
|
+
}
|
|
88
|
+
_getDnt() {
|
|
89
|
+
if (!this._config.respect_dnt) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
return !!find([
|
|
93
|
+
navigator?.doNotTrack, // standard
|
|
94
|
+
navigator?.['msDoNotTrack'],
|
|
95
|
+
assignableWindow['doNotTrack'],
|
|
96
|
+
], (dntValue) => {
|
|
97
|
+
return isYesLike(dntValue);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=consent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent.js","sourceRoot":"","sources":["../src/consent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export declare const PEOPLE_DISTINCT_ID_KEY = "$people_distinct_id";
|
|
2
|
+
export declare const DISTINCT_ID = "distinct_id";
|
|
3
|
+
export declare const ALIAS_ID_KEY = "__alias";
|
|
4
|
+
export declare const CAMPAIGN_IDS_KEY = "__cmpns";
|
|
5
|
+
export declare const EVENT_TIMERS_KEY = "__timers";
|
|
6
|
+
export declare const AUTOCAPTURE_DISABLED_SERVER_SIDE = "$autocapture_disabled_server_side";
|
|
7
|
+
export declare const HEATMAPS_ENABLED_SERVER_SIDE = "$heatmaps_enabled_server_side";
|
|
8
|
+
export declare const EXCEPTION_CAPTURE_ENABLED_SERVER_SIDE = "$exception_capture_enabled_server_side";
|
|
9
|
+
export declare const ERROR_TRACKING_SUPPRESSION_RULES = "$error_tracking_suppression_rules";
|
|
10
|
+
export declare const ERROR_TRACKING_CAPTURE_EXTENSION_EXCEPTIONS = "$error_tracking_capture_extension_exceptions";
|
|
11
|
+
export declare const WEB_VITALS_ENABLED_SERVER_SIDE = "$web_vitals_enabled_server_side";
|
|
12
|
+
export declare const DEAD_CLICKS_ENABLED_SERVER_SIDE = "$dead_clicks_enabled_server_side";
|
|
13
|
+
export declare const WEB_VITALS_ALLOWED_METRICS = "$web_vitals_allowed_metrics";
|
|
14
|
+
export declare const SESSION_RECORDING_REMOTE_CONFIG = "$session_recording_remote_config";
|
|
15
|
+
export declare const SESSION_RECORDING_ENABLED_SERVER_SIDE = "$session_recording_enabled_server_side";
|
|
16
|
+
export declare const CONSOLE_LOG_RECORDING_ENABLED_SERVER_SIDE = "$console_log_recording_enabled_server_side";
|
|
17
|
+
export declare const SESSION_RECORDING_NETWORK_PAYLOAD_CAPTURE = "$session_recording_network_payload_capture";
|
|
18
|
+
export declare const SESSION_RECORDING_MASKING = "$session_recording_masking";
|
|
19
|
+
export declare const SESSION_RECORDING_CANVAS_RECORDING = "$session_recording_canvas_recording";
|
|
20
|
+
export declare const SESSION_RECORDING_SAMPLE_RATE = "$replay_sample_rate";
|
|
21
|
+
export declare const SESSION_RECORDING_MINIMUM_DURATION = "$replay_minimum_duration";
|
|
22
|
+
export declare const SESSION_RECORDING_SCRIPT_CONFIG = "$replay_script_config";
|
|
23
|
+
export declare const SESSION_ID = "$sesid";
|
|
24
|
+
export declare const SESSION_RECORDING_IS_SAMPLED = "$session_is_sampled";
|
|
25
|
+
export declare const SESSION_RECORDING_URL_TRIGGER_ACTIVATED_SESSION = "$session_recording_url_trigger_activated_session";
|
|
26
|
+
export declare const SESSION_RECORDING_EVENT_TRIGGER_ACTIVATED_SESSION = "$session_recording_event_trigger_activated_session";
|
|
27
|
+
export declare const ENABLED_FEATURE_FLAGS = "$enabled_feature_flags";
|
|
28
|
+
export declare const PERSISTENCE_EARLY_ACCESS_FEATURES = "$early_access_features";
|
|
29
|
+
export declare const PERSISTENCE_FEATURE_FLAG_DETAILS = "$feature_flag_details";
|
|
30
|
+
export declare const STORED_PERSON_PROPERTIES_KEY = "$stored_person_properties";
|
|
31
|
+
export declare const STORED_GROUP_PROPERTIES_KEY = "$stored_group_properties";
|
|
32
|
+
export declare const SURVEYS = "$surveys";
|
|
33
|
+
export declare const SURVEYS_ACTIVATED = "$surveys_activated";
|
|
34
|
+
export declare const FLAG_CALL_REPORTED = "$flag_call_reported";
|
|
35
|
+
export declare const USER_STATE = "$user_state";
|
|
36
|
+
export declare const CLIENT_SESSION_PROPS = "$client_session_props";
|
|
37
|
+
export declare const CAPTURE_RATE_LIMIT = "$capture_rate_limit";
|
|
38
|
+
/** @deprecated Delete this when INITIAL_PERSON_INFO has been around for long enough to ignore backwards compat */
|
|
39
|
+
export declare const INITIAL_CAMPAIGN_PARAMS = "$initial_campaign_params";
|
|
40
|
+
/** @deprecated Delete this when INITIAL_PERSON_INFO has been around for long enough to ignore backwards compat */
|
|
41
|
+
export declare const INITIAL_REFERRER_INFO = "$initial_referrer_info";
|
|
42
|
+
export declare const INITIAL_PERSON_INFO = "$initial_person_info";
|
|
43
|
+
export declare const ENABLE_PERSON_PROCESSING = "$epp";
|
|
44
|
+
export declare const TOOLBAR_ID = "__POSTHOG_TOOLBAR__";
|
|
45
|
+
export declare const TOOLBAR_CONTAINER_CLASS = "toolbar-global-fade-container";
|
|
46
|
+
/**
|
|
47
|
+
* PREVIEW - MAY CHANGE WITHOUT WARNING - DO NOT USE IN PRODUCTION
|
|
48
|
+
* Sentinel value for distinct id, device id, session id. Signals that the server should generate the value
|
|
49
|
+
* */
|
|
50
|
+
export declare const COOKIELESS_SENTINEL_VALUE = "$posthog_cookieless";
|
|
51
|
+
export declare const COOKIELESS_MODE_FLAG_PROPERTY = "$cookieless_mode";
|
|
52
|
+
export declare const WEB_EXPERIMENTS = "$web_experiments";
|
|
53
|
+
export declare const PERSISTENCE_RESERVED_PROPERTIES: string[];
|
|
54
|
+
export declare const SURVEYS_REQUEST_TIMEOUT_MS = 10000;
|