matomo-tracker-for-react 1.0.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/LICENSE +373 -0
- package/README.md +194 -0
- package/es/MatomoContext.d.ts +5 -0
- package/es/MatomoContext.d.ts.map +1 -0
- package/es/MatomoContext.js +4 -0
- package/es/MatomoContext.js.map +1 -0
- package/es/MatomoProvider.d.ts +5 -0
- package/es/MatomoProvider.d.ts.map +1 -0
- package/es/MatomoProvider.js +94 -0
- package/es/MatomoProvider.js.map +1 -0
- package/es/MatomoTracker.d.ts +49 -0
- package/es/MatomoTracker.d.ts.map +1 -0
- package/es/MatomoTracker.js +330 -0
- package/es/MatomoTracker.js.map +1 -0
- package/es/constants.d.ts +11 -0
- package/es/constants.d.ts.map +1 -0
- package/es/constants.js +13 -0
- package/es/constants.js.map +1 -0
- package/es/index.d.ts +15 -0
- package/es/index.d.ts.map +1 -0
- package/es/index.js +6 -0
- package/es/index.js.map +1 -0
- package/es/tracker-types.d.ts +76 -0
- package/es/tracker-types.d.ts.map +1 -0
- package/es/tracker-types.js +2 -0
- package/es/tracker-types.js.map +1 -0
- package/es/types.d.ts +19 -0
- package/es/types.d.ts.map +1 -0
- package/es/types.js +3 -0
- package/es/types.js.map +1 -0
- package/es/useMatomo.d.ts +4 -0
- package/es/useMatomo.d.ts.map +1 -0
- package/es/useMatomo.js +30 -0
- package/es/useMatomo.js.map +1 -0
- package/lib/MatomoContext.d.ts +5 -0
- package/lib/MatomoContext.d.ts.map +1 -0
- package/lib/MatomoContext.js +6 -0
- package/lib/MatomoContext.js.map +1 -0
- package/lib/MatomoProvider.d.ts +5 -0
- package/lib/MatomoProvider.d.ts.map +1 -0
- package/lib/MatomoProvider.js +122 -0
- package/lib/MatomoProvider.js.map +1 -0
- package/lib/MatomoTracker.d.ts +49 -0
- package/lib/MatomoTracker.d.ts.map +1 -0
- package/lib/MatomoTracker.js +332 -0
- package/lib/MatomoTracker.js.map +1 -0
- package/lib/constants.d.ts +11 -0
- package/lib/constants.d.ts.map +1 -0
- package/lib/constants.js +16 -0
- package/lib/constants.js.map +1 -0
- package/lib/index.d.ts +15 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +29 -0
- package/lib/index.js.map +1 -0
- package/lib/tracker-types.d.ts +76 -0
- package/lib/tracker-types.d.ts.map +1 -0
- package/lib/tracker-types.js +3 -0
- package/lib/tracker-types.js.map +1 -0
- package/lib/types.d.ts +19 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +19 -0
- package/lib/types.js.map +1 -0
- package/lib/useMatomo.d.ts +4 -0
- package/lib/useMatomo.d.ts.map +1 -0
- package/lib/useMatomo.js +35 -0
- package/lib/useMatomo.js.map +1 -0
- package/package.json +58 -0
- package/src/MatomoContext.tsx +6 -0
- package/src/MatomoProvider.tsx +93 -0
- package/src/MatomoTracker.ts +415 -0
- package/src/constants.ts +12 -0
- package/src/index.ts +20 -0
- package/src/tracker-types.ts +89 -0
- package/src/types.ts +29 -0
- package/src/useMatomo.ts +55 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
10
|
+
import React, { useEffect, useMemo, useRef } from 'react';
|
|
11
|
+
import { useLocation } from 'react-router-dom'; // For automatic page view tracking
|
|
12
|
+
import MatomoContext from './MatomoContext';
|
|
13
|
+
import MatomoTracker from './MatomoTracker';
|
|
14
|
+
import { TRACK_TYPES } from './constants';
|
|
15
|
+
var MatomoProvider = function (_a) {
|
|
16
|
+
var children = _a.children, urlBase = _a.urlBase, siteId = _a.siteId, _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.trackCookies, trackCookies = _c === void 0 ? true : _c;
|
|
17
|
+
var matomoInstanceRef = useRef(null);
|
|
18
|
+
var location = useLocation(); // From react-router-dom
|
|
19
|
+
// Initialize MatomoTracker instance
|
|
20
|
+
if (!matomoInstanceRef.current && typeof window !== 'undefined' && !disabled) {
|
|
21
|
+
var matomoSiteId = typeof siteId === 'string' ? parseInt(siteId, 10) : siteId;
|
|
22
|
+
if (isNaN(matomoSiteId)) {
|
|
23
|
+
console.error("Matomo siteId must be a number or a string parseable to a number.");
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
var effectiveConfigurations = {};
|
|
27
|
+
if (!trackCookies) {
|
|
28
|
+
effectiveConfigurations.disableCookies = true;
|
|
29
|
+
}
|
|
30
|
+
var trackerOptions = {
|
|
31
|
+
urlBase: urlBase,
|
|
32
|
+
siteId: matomoSiteId,
|
|
33
|
+
disabled: disabled,
|
|
34
|
+
configurations: effectiveConfigurations, // Pass only relevant configurations
|
|
35
|
+
};
|
|
36
|
+
matomoInstanceRef.current = new MatomoTracker(trackerOptions);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
var matomoActions = useMemo(function () {
|
|
40
|
+
var currentInstance = matomoInstanceRef.current; // Use a variable for the dependency array
|
|
41
|
+
if (!currentInstance || disabled) {
|
|
42
|
+
var noOp = function () { };
|
|
43
|
+
var noOpInstance = {
|
|
44
|
+
trackEvent: noOp,
|
|
45
|
+
trackPageView: noOp,
|
|
46
|
+
trackGoal: noOp,
|
|
47
|
+
setUserId: noOp,
|
|
48
|
+
trackLink: noOp,
|
|
49
|
+
pushInstruction: function () {
|
|
50
|
+
var _args = [];
|
|
51
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
52
|
+
_args[_i] = arguments[_i];
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
return noOpInstance;
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
trackEvent: function (category, action, name, value) {
|
|
60
|
+
return currentInstance.trackEvent({ category: category, action: action, name: name, value: value });
|
|
61
|
+
},
|
|
62
|
+
trackPageView: function (customTitle) {
|
|
63
|
+
return currentInstance.trackPageView(customTitle ? { documentTitle: customTitle } : undefined);
|
|
64
|
+
},
|
|
65
|
+
trackGoal: function (goalId, revenue) {
|
|
66
|
+
return currentInstance.pushInstruction(TRACK_TYPES.TRACK_GOAL, goalId, revenue);
|
|
67
|
+
},
|
|
68
|
+
setUserId: function (uid) { return currentInstance.pushInstruction(TRACK_TYPES.SET_USER_ID, uid); },
|
|
69
|
+
trackLink: function (url, linkType) {
|
|
70
|
+
return currentInstance.trackLink({ href: url, linkType: linkType });
|
|
71
|
+
},
|
|
72
|
+
pushInstruction: function (instruction) {
|
|
73
|
+
if (Array.isArray(instruction) && instruction.length > 0) {
|
|
74
|
+
var name_1 = instruction[0], args = instruction.slice(1);
|
|
75
|
+
currentInstance.pushInstruction.apply(currentInstance, __spreadArray([name_1], args, false));
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
console.warn('pushInstruction expects a non-empty array.');
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}, [disabled, matomoInstanceRef.current]); // Use matomoInstanceRef.current here
|
|
83
|
+
// Effect for automatic page view tracking on route change
|
|
84
|
+
useEffect(function () {
|
|
85
|
+
if (matomoActions && matomoActions.trackPageView && !disabled) {
|
|
86
|
+
var currentPath = location.pathname + location.search + location.hash;
|
|
87
|
+
matomoActions.pushInstruction(['setCustomUrl', window.location.origin + currentPath]);
|
|
88
|
+
matomoActions.trackPageView(); // Track with potentially new document.title or default
|
|
89
|
+
}
|
|
90
|
+
}, [location, matomoActions, disabled]);
|
|
91
|
+
return (React.createElement(MatomoContext.Provider, { value: matomoActions }, children));
|
|
92
|
+
};
|
|
93
|
+
export default MatomoProvider;
|
|
94
|
+
//# sourceMappingURL=MatomoProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MatomoProvider.js","sourceRoot":"","sources":["../src/MatomoProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { AddEcommerceItemParams, RemoveEcommerceItemParams, SetEcommerceViewParams, TrackEcommerceOrderParams, TrackEventParams, TrackLinkParams, TrackPageViewParams, TrackSiteSearchParams, UserOptions } from "./tracker-types";
|
|
2
|
+
declare global {
|
|
3
|
+
interface Window {
|
|
4
|
+
_paq?: Array<any[]>;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
declare class MatomoTracker {
|
|
8
|
+
private mutationObserver?;
|
|
9
|
+
private isInitialized;
|
|
10
|
+
constructor(userOptions: UserOptions);
|
|
11
|
+
private initialize;
|
|
12
|
+
enableHeartBeatTimer(seconds: number): void;
|
|
13
|
+
enableLinkTracking(active: boolean): void;
|
|
14
|
+
private trackEventsForElements;
|
|
15
|
+
trackEvents(): void;
|
|
16
|
+
stopObserving(): void;
|
|
17
|
+
trackEvent({ category, action, name, value, ...otherParams }: TrackEventParams): void;
|
|
18
|
+
trackSiteSearch({ keyword, category, count, ...otherParams }: TrackSiteSearchParams): void;
|
|
19
|
+
trackLink({ href, linkType, customDimensions, }: TrackLinkParams): void;
|
|
20
|
+
trackPageView(params?: TrackPageViewParams): void;
|
|
21
|
+
addEcommerceItem({ sku, productName, productCategory, productPrice, productQuantity, }: AddEcommerceItemParams): void;
|
|
22
|
+
removeEcommerceItem({ sku }: RemoveEcommerceItemParams): void;
|
|
23
|
+
clearEcommerceCart(): void;
|
|
24
|
+
trackEcommerceOrder({ orderId, orderRevenue, orderSubTotal, taxAmount, shippingAmount, discountOffered, }: TrackEcommerceOrderParams): void;
|
|
25
|
+
trackEcommerceCartUpdate(amount: number): void;
|
|
26
|
+
setEcommerceView({ sku, productName, productCategory, productPrice, }: SetEcommerceViewParams): void;
|
|
27
|
+
setEcommerceCategoryView(productCategory: string): void;
|
|
28
|
+
private track;
|
|
29
|
+
/**
|
|
30
|
+
* Pushes an instruction to Matomo for execution, this is equivalent to pushing entries into the `_paq` array.
|
|
31
|
+
*
|
|
32
|
+
* For example:
|
|
33
|
+
*
|
|
34
|
+
* ```ts
|
|
35
|
+
* pushInstruction('setDocumentTitle', document.title)
|
|
36
|
+
* ```
|
|
37
|
+
* Is the equivalent of:
|
|
38
|
+
*
|
|
39
|
+
* ```ts
|
|
40
|
+
* _paq.push(['setDocumentTitle', document.title]);
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @param name The name of the instruction to be executed.
|
|
44
|
+
* @param args The arguments to pass along with the instruction.
|
|
45
|
+
*/
|
|
46
|
+
pushInstruction(name: string, ...args: any[]): MatomoTracker;
|
|
47
|
+
}
|
|
48
|
+
export default MatomoTracker;
|
|
49
|
+
//# sourceMappingURL=MatomoTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MatomoTracker.d.ts","sourceRoot":"","sources":["../src/MatomoTracker.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EAEzB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EAEnB,qBAAqB,EACrB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;KACrB;CACF;AAED,cAAM,aAAa;IACjB,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,aAAa,CAAS;gBAElB,WAAW,EAAE,WAAW;IAepC,OAAO,CAAC,UAAU;IAmFlB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3C,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAIzC,OAAO,CAAC,sBAAsB;IAwB9B,WAAW,IAAI,IAAI;IAqCnB,aAAa,IAAI,IAAI;IAQrB,UAAU,CAAC,EACT,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,KAAK,EACL,GAAG,WAAW,EACf,EAAE,gBAAgB,GAAG,IAAI;IAa1B,eAAe,CAAC,EACd,OAAO,EACP,QAAQ,EACR,KAAK,EACL,GAAG,WAAW,EACf,EAAE,qBAAqB,GAAG,IAAI;IAa/B,SAAS,CAAC,EACR,IAAI,EACJ,QAAiB,EACjB,gBAAgB,GACjB,EAAE,eAAe,GAAG,IAAI;IAmBzB,aAAa,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAOjD,gBAAgB,CAAC,EACf,GAAG,EACH,WAAW,EACX,eAAe,EACf,YAAkB,EAClB,eAAmB,GACpB,EAAE,sBAAsB,GAAG,IAAI;IAahC,mBAAmB,CAAC,EAAE,GAAG,EAAE,EAAE,yBAAyB,GAAG,IAAI;IAM7D,kBAAkB,IAAI,IAAI;IAM1B,mBAAmB,CAAC,EAClB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAuB,GACxB,EAAE,yBAAyB,GAAG,IAAI;IAiBnC,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM9C,gBAAgB,CAAC,EACf,GAAG,EACH,WAAW,EACX,eAAe,EACf,YAAY,GACb,EAAE,sBAAsB,GAAG,IAAI;IAYhC,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;IAKvD,OAAO,CAAC,KAAK;IAoCb;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,aAAa;CAS7D;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
24
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
25
|
+
if (ar || !(i in from)) {
|
|
26
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
27
|
+
ar[i] = from[i];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
31
|
+
};
|
|
32
|
+
import { TRACK_TYPES } from "./constants";
|
|
33
|
+
var MatomoTracker = /** @class */ (function () {
|
|
34
|
+
function MatomoTracker(userOptions) {
|
|
35
|
+
this.isInitialized = false;
|
|
36
|
+
if (typeof window === "undefined") {
|
|
37
|
+
// Don't run in SSR or non-browser environments
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (!userOptions.urlBase) {
|
|
41
|
+
throw new Error("Matomo urlBase is required.");
|
|
42
|
+
}
|
|
43
|
+
if (userOptions.siteId === undefined || userOptions.siteId === null) {
|
|
44
|
+
throw new Error("Matomo siteId is required.");
|
|
45
|
+
}
|
|
46
|
+
this.initialize(userOptions);
|
|
47
|
+
}
|
|
48
|
+
MatomoTracker.prototype.initialize = function (_a) {
|
|
49
|
+
var _this = this;
|
|
50
|
+
var _b;
|
|
51
|
+
var urlBase = _a.urlBase, siteId = _a.siteId, userId = _a.userId, trackerUrl = _a.trackerUrl, srcUrl = _a.srcUrl, _c = _a.disabled, disabled = _c === void 0 ? false : _c, heartBeat = _a.heartBeat, _d = _a.linkTracking, linkTracking = _d === void 0 ? true : _d, _e = _a.configurations, configurations = _e === void 0 ? {} : _e;
|
|
52
|
+
if (disabled) {
|
|
53
|
+
// If disabled, make all tracking calls no-ops by not initializing _paq or the script
|
|
54
|
+
this.pushInstruction = function () {
|
|
55
|
+
var _args = [];
|
|
56
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
57
|
+
_args[_i] = arguments[_i];
|
|
58
|
+
}
|
|
59
|
+
return _this;
|
|
60
|
+
}; // No-op
|
|
61
|
+
// Make other methods no-op as well
|
|
62
|
+
var noOp = function () { };
|
|
63
|
+
this.trackEvent = noOp;
|
|
64
|
+
this.trackPageView = noOp;
|
|
65
|
+
this.trackSiteSearch = noOp;
|
|
66
|
+
this.trackLink = noOp;
|
|
67
|
+
// ... and so on for all public methods
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
var normalizedUrlBase = urlBase.endsWith("/") ? urlBase : "".concat(urlBase, "/");
|
|
71
|
+
window._paq = window._paq || [];
|
|
72
|
+
// Prevent re-initialization if _paq already has Matomo commands beyond simple presence
|
|
73
|
+
if (this.isInitialized ||
|
|
74
|
+
(window._paq.length > 0 &&
|
|
75
|
+
window._paq.some(function (cmd) { return cmd[0] === "setTrackerUrl"; }))) {
|
|
76
|
+
// If siteId or userId needs to be updated on an existing instance:
|
|
77
|
+
if (siteId)
|
|
78
|
+
this.pushInstruction("setSiteId", siteId);
|
|
79
|
+
if (userId)
|
|
80
|
+
this.pushInstruction("setUserId", userId);
|
|
81
|
+
// Potentially re-apply other configurations if needed, or assume they are sticky
|
|
82
|
+
this.isInitialized = true;
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
this.pushInstruction("setTrackerUrl", trackerUrl !== null && trackerUrl !== void 0 ? trackerUrl : "".concat(normalizedUrlBase, "matomo.php"));
|
|
86
|
+
this.pushInstruction("setSiteId", siteId);
|
|
87
|
+
if (userId) {
|
|
88
|
+
this.pushInstruction("setUserId", userId);
|
|
89
|
+
}
|
|
90
|
+
Object.entries(configurations).forEach(function (_a) {
|
|
91
|
+
var name = _a[0], instructions = _a[1];
|
|
92
|
+
if (name === "disableCookies" && typeof instructions === "boolean") {
|
|
93
|
+
_this.pushInstruction("disableCookies"); // Matomo's disableCookies takes no arguments if called this way
|
|
94
|
+
}
|
|
95
|
+
else if (instructions instanceof Array) {
|
|
96
|
+
_this.pushInstruction.apply(_this, __spreadArray([name], instructions, false));
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
_this.pushInstruction(name, instructions);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
if (!heartBeat || (heartBeat && heartBeat.active)) {
|
|
103
|
+
this.enableHeartBeatTimer((_b = (heartBeat && heartBeat.seconds)) !== null && _b !== void 0 ? _b : 15);
|
|
104
|
+
}
|
|
105
|
+
this.enableLinkTracking(linkTracking);
|
|
106
|
+
var doc = document;
|
|
107
|
+
var scriptElement = doc.createElement("script");
|
|
108
|
+
var scripts = doc.getElementsByTagName("script")[0];
|
|
109
|
+
scriptElement.type = "text/javascript";
|
|
110
|
+
scriptElement.async = true;
|
|
111
|
+
scriptElement.defer = true;
|
|
112
|
+
scriptElement.src = srcUrl || "".concat(normalizedUrlBase, "matomo.js");
|
|
113
|
+
if (scripts && scripts.parentNode) {
|
|
114
|
+
scripts.parentNode.insertBefore(scriptElement, scripts);
|
|
115
|
+
}
|
|
116
|
+
this.isInitialized = true;
|
|
117
|
+
};
|
|
118
|
+
MatomoTracker.prototype.enableHeartBeatTimer = function (seconds) {
|
|
119
|
+
this.pushInstruction("enableHeartBeatTimer", seconds);
|
|
120
|
+
};
|
|
121
|
+
MatomoTracker.prototype.enableLinkTracking = function (active) {
|
|
122
|
+
this.pushInstruction("enableLinkTracking", active);
|
|
123
|
+
};
|
|
124
|
+
MatomoTracker.prototype.trackEventsForElements = function (elements) {
|
|
125
|
+
var _this = this;
|
|
126
|
+
if (elements.length) {
|
|
127
|
+
elements.forEach(function (element) {
|
|
128
|
+
element.addEventListener("click", function () {
|
|
129
|
+
var _a = element.dataset, matomoCategory = _a.matomoCategory, matomoAction = _a.matomoAction, matomoName = _a.matomoName, matomoValue = _a.matomoValue;
|
|
130
|
+
if (matomoCategory && matomoAction) {
|
|
131
|
+
_this.trackEvent({
|
|
132
|
+
category: matomoCategory,
|
|
133
|
+
action: matomoAction,
|
|
134
|
+
name: matomoName,
|
|
135
|
+
value: matomoValue ? Number(matomoValue) : undefined,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
throw new Error("Error: data-matomo-category and data-matomo-action are required.");
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
// Tracks events based on data attributes
|
|
146
|
+
MatomoTracker.prototype.trackEvents = function () {
|
|
147
|
+
var _this = this;
|
|
148
|
+
if (typeof window === "undefined" || !document)
|
|
149
|
+
return;
|
|
150
|
+
var matchString = '[data-matomo-event="click"]';
|
|
151
|
+
var firstTime = false;
|
|
152
|
+
if (!this.mutationObserver) {
|
|
153
|
+
firstTime = true;
|
|
154
|
+
this.mutationObserver = new MutationObserver(function (mutations) {
|
|
155
|
+
mutations.forEach(function (mutation) {
|
|
156
|
+
mutation.addedNodes.forEach(function (node) {
|
|
157
|
+
// only track HTML elements
|
|
158
|
+
if (!(node instanceof HTMLElement))
|
|
159
|
+
return;
|
|
160
|
+
// check the inserted element for being a code snippet
|
|
161
|
+
if (node.matches(matchString)) {
|
|
162
|
+
_this.trackEventsForElements([node]);
|
|
163
|
+
}
|
|
164
|
+
var elements = Array.from(node.querySelectorAll(matchString));
|
|
165
|
+
_this.trackEventsForElements(elements);
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
this.mutationObserver.observe(document, { childList: true, subtree: true });
|
|
171
|
+
// Now track all already existing elements
|
|
172
|
+
if (firstTime) {
|
|
173
|
+
var elements = Array.from(document.querySelectorAll(matchString));
|
|
174
|
+
this.trackEventsForElements(elements);
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
MatomoTracker.prototype.stopObserving = function () {
|
|
178
|
+
if (this.mutationObserver) {
|
|
179
|
+
this.mutationObserver.disconnect();
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
// Tracks events
|
|
183
|
+
// https://matomo.org/docs/event-tracking/#tracking-events
|
|
184
|
+
MatomoTracker.prototype.trackEvent = function (_a) {
|
|
185
|
+
var category = _a.category, action = _a.action, name = _a.name, value = _a.value, otherParams = __rest(_a, ["category", "action", "name", "value"]);
|
|
186
|
+
if (category && action) {
|
|
187
|
+
this.track(__assign({ data: [TRACK_TYPES.TRACK_EVENT, category, action, name, value] }, otherParams));
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
throw new Error("Error: category and action are required.");
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
// Tracks site search
|
|
194
|
+
// https://developer.matomo.org/guides/tracking-javascript-guide#internal-search-tracking
|
|
195
|
+
MatomoTracker.prototype.trackSiteSearch = function (_a) {
|
|
196
|
+
var keyword = _a.keyword, category = _a.category, count = _a.count, otherParams = __rest(_a, ["keyword", "category", "count"]);
|
|
197
|
+
if (keyword) {
|
|
198
|
+
this.track(__assign({ data: [TRACK_TYPES.TRACK_SEARCH, keyword, category, count] }, otherParams));
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
throw new Error("Error: keyword is required.");
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
// Tracks outgoing links to other sites and downloads
|
|
205
|
+
// https://developer.matomo.org/guides/tracking-javascript-guide#enabling-download-outlink-tracking
|
|
206
|
+
MatomoTracker.prototype.trackLink = function (_a) {
|
|
207
|
+
var _this = this;
|
|
208
|
+
var href = _a.href, _b = _a.linkType, linkType = _b === void 0 ? "link" : _b, customDimensions = _a.customDimensions;
|
|
209
|
+
if (customDimensions &&
|
|
210
|
+
Array.isArray(customDimensions) &&
|
|
211
|
+
customDimensions.length) {
|
|
212
|
+
customDimensions.forEach(function (customDimension) {
|
|
213
|
+
return _this.pushInstruction("setCustomDimension", customDimension.id, customDimension.value);
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
this.pushInstruction(TRACK_TYPES.TRACK_LINK, href, linkType);
|
|
217
|
+
};
|
|
218
|
+
// Tracks page views
|
|
219
|
+
// https://developer.matomo.org/guides/spa-tracking#tracking-a-new-page-view
|
|
220
|
+
MatomoTracker.prototype.trackPageView = function (params) {
|
|
221
|
+
this.track(__assign({ data: [TRACK_TYPES.TRACK_VIEW] }, params));
|
|
222
|
+
};
|
|
223
|
+
// Adds a product to an Ecommerce order to be tracked via trackEcommerceOrder.
|
|
224
|
+
// https://matomo.org/docs/ecommerce-analytics
|
|
225
|
+
// https://matomo.org/docs/ecommerce-analytics/#1-addecommerceitemproductsku-productname-productcategory-price-quantity
|
|
226
|
+
MatomoTracker.prototype.addEcommerceItem = function (_a) {
|
|
227
|
+
var sku = _a.sku, productName = _a.productName, productCategory = _a.productCategory, _b = _a.productPrice, productPrice = _b === void 0 ? 0.0 : _b, _c = _a.productQuantity, productQuantity = _c === void 0 ? 1 : _c;
|
|
228
|
+
this.pushInstruction("addEcommerceItem", sku, productName, productCategory, productPrice, productQuantity);
|
|
229
|
+
};
|
|
230
|
+
// Removes a product from an Ecommerce order to be tracked via trackEcommerceOrder.
|
|
231
|
+
// https://matomo.org/docs/ecommerce-analytics
|
|
232
|
+
MatomoTracker.prototype.removeEcommerceItem = function (_a) {
|
|
233
|
+
var sku = _a.sku;
|
|
234
|
+
this.pushInstruction("removeEcommerceItem", sku);
|
|
235
|
+
};
|
|
236
|
+
// Removes all products from an Ecommerce order to be tracked via trackEcommerceOrder.
|
|
237
|
+
// https://matomo.org/docs/ecommerce-analytics
|
|
238
|
+
MatomoTracker.prototype.clearEcommerceCart = function () {
|
|
239
|
+
this.pushInstruction("clearEcommerceCart");
|
|
240
|
+
};
|
|
241
|
+
// Tracks an Ecommerce order containing items added via addEcommerceItem.
|
|
242
|
+
// https://matomo.org/docs/ecommerce-analytics/#2-trackecommerceorderorderid-revenue-subtotal-tax-shipping-discount
|
|
243
|
+
MatomoTracker.prototype.trackEcommerceOrder = function (_a) {
|
|
244
|
+
var orderId = _a.orderId, orderRevenue = _a.orderRevenue, orderSubTotal = _a.orderSubTotal, taxAmount = _a.taxAmount, shippingAmount = _a.shippingAmount, _b = _a.discountOffered, discountOffered = _b === void 0 ? false : _b;
|
|
245
|
+
this.track({
|
|
246
|
+
data: [
|
|
247
|
+
TRACK_TYPES.TRACK_ECOMMERCE_ORDER,
|
|
248
|
+
orderId,
|
|
249
|
+
orderRevenue,
|
|
250
|
+
orderSubTotal,
|
|
251
|
+
taxAmount,
|
|
252
|
+
shippingAmount,
|
|
253
|
+
discountOffered,
|
|
254
|
+
],
|
|
255
|
+
});
|
|
256
|
+
};
|
|
257
|
+
// Tracks updates to an Ecommerce Cart before an actual purchase.
|
|
258
|
+
// This will replace currently tracked information of the cart. Always include all items of the updated cart!
|
|
259
|
+
// https://matomo.org/docs/ecommerce-analytics/#example-tracking-an-ecommerce-cart-update-containing-two-products
|
|
260
|
+
MatomoTracker.prototype.trackEcommerceCartUpdate = function (amount) {
|
|
261
|
+
this.pushInstruction(TRACK_TYPES.TRACK_ECOMMERCE_CART_UPDATE, amount);
|
|
262
|
+
};
|
|
263
|
+
// Marks the next page view as an Ecommerce product page.
|
|
264
|
+
// https://matomo.org/docs/ecommerce-analytics/#example-tracking-a-product-page-view
|
|
265
|
+
MatomoTracker.prototype.setEcommerceView = function (_a) {
|
|
266
|
+
var sku = _a.sku, productName = _a.productName, productCategory = _a.productCategory, productPrice = _a.productPrice;
|
|
267
|
+
this.pushInstruction("setEcommerceView", sku, productName, productCategory, productPrice);
|
|
268
|
+
};
|
|
269
|
+
// Marks the next tracked page view as an Ecommerce category page.
|
|
270
|
+
// https://matomo.org/docs/ecommerce-analytics/#example-tracking-a-category-page-view
|
|
271
|
+
MatomoTracker.prototype.setEcommerceCategoryView = function (productCategory) {
|
|
272
|
+
this.setEcommerceView({ productCategory: productCategory, productName: false, sku: false });
|
|
273
|
+
};
|
|
274
|
+
// Sends the tracked page/view/search to Matomo
|
|
275
|
+
MatomoTracker.prototype.track = function (_a) {
|
|
276
|
+
var _this = this;
|
|
277
|
+
var _b = _a.data, data = _b === void 0 ? [] : _b, documentTitle = _a.documentTitle, // Changed: use passed documentTitle or fallback to window.document.title later
|
|
278
|
+
href = _a.href, _c = _a.customDimensions, customDimensions = _c === void 0 ? false : _c;
|
|
279
|
+
if (typeof window === "undefined")
|
|
280
|
+
return;
|
|
281
|
+
if (data.length) {
|
|
282
|
+
if (customDimensions &&
|
|
283
|
+
Array.isArray(customDimensions) &&
|
|
284
|
+
customDimensions.length) {
|
|
285
|
+
customDimensions.forEach(function (customDimension // Corrected type
|
|
286
|
+
) {
|
|
287
|
+
return _this.pushInstruction("setCustomDimension", customDimension.id, customDimension.value);
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
this.pushInstruction("setCustomUrl", href !== null && href !== void 0 ? href : window.location.href);
|
|
291
|
+
// Use provided documentTitle, fallback to actual document.title only if not provided
|
|
292
|
+
this.pushInstruction("setDocumentTitle", documentTitle !== null && documentTitle !== void 0 ? documentTitle : window.document.title);
|
|
293
|
+
this.pushInstruction.apply(this, data);
|
|
294
|
+
}
|
|
295
|
+
};
|
|
296
|
+
/**
|
|
297
|
+
* Pushes an instruction to Matomo for execution, this is equivalent to pushing entries into the `_paq` array.
|
|
298
|
+
*
|
|
299
|
+
* For example:
|
|
300
|
+
*
|
|
301
|
+
* ```ts
|
|
302
|
+
* pushInstruction('setDocumentTitle', document.title)
|
|
303
|
+
* ```
|
|
304
|
+
* Is the equivalent of:
|
|
305
|
+
*
|
|
306
|
+
* ```ts
|
|
307
|
+
* _paq.push(['setDocumentTitle', document.title]);
|
|
308
|
+
* ```
|
|
309
|
+
*
|
|
310
|
+
* @param name The name of the instruction to be executed.
|
|
311
|
+
* @param args The arguments to pass along with the instruction.
|
|
312
|
+
*/
|
|
313
|
+
MatomoTracker.prototype.pushInstruction = function (name) {
|
|
314
|
+
var args = [];
|
|
315
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
316
|
+
args[_i - 1] = arguments[_i];
|
|
317
|
+
}
|
|
318
|
+
if (typeof window !== "undefined" && window._paq) {
|
|
319
|
+
window._paq.push(__spreadArray([name], args, true));
|
|
320
|
+
}
|
|
321
|
+
else if (typeof window !== "undefined" && name === "setTrackerUrl") {
|
|
322
|
+
// Allow setting up _paq if it's the first instruction (like setTrackerUrl)
|
|
323
|
+
window._paq = [__spreadArray([name], args, true)];
|
|
324
|
+
}
|
|
325
|
+
return this;
|
|
326
|
+
};
|
|
327
|
+
return MatomoTracker;
|
|
328
|
+
}());
|
|
329
|
+
export default MatomoTracker;
|
|
330
|
+
//# sourceMappingURL=MatomoTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MatomoTracker.js","sourceRoot":"","sources":["../src/MatomoTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const TRACK_TYPES: {
|
|
2
|
+
TRACK_EVENT: string;
|
|
3
|
+
TRACK_LINK: string;
|
|
4
|
+
TRACK_SEARCH: string;
|
|
5
|
+
TRACK_VIEW: string;
|
|
6
|
+
TRACK_ECOMMERCE_ORDER: string;
|
|
7
|
+
TRACK_ECOMMERCE_CART_UPDATE: string;
|
|
8
|
+
TRACK_GOAL: string;
|
|
9
|
+
SET_USER_ID: string;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW;;;;;;;;;CAUvB,CAAC"}
|
package/es/constants.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
2
|
+
export var TRACK_TYPES = {
|
|
3
|
+
TRACK_EVENT: "trackEvent",
|
|
4
|
+
TRACK_LINK: "trackLink",
|
|
5
|
+
TRACK_SEARCH: "trackSiteSearch",
|
|
6
|
+
TRACK_VIEW: "trackPageView",
|
|
7
|
+
TRACK_ECOMMERCE_ORDER: "trackEcommerceOrder",
|
|
8
|
+
TRACK_ECOMMERCE_CART_UPDATE: "trackEcommerceCartUpdate",
|
|
9
|
+
// Add other Matomo instructions if needed, e.g., for goals
|
|
10
|
+
TRACK_GOAL: "trackGoal",
|
|
11
|
+
SET_USER_ID: "setUserId",
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,CAAC,IAAM,WAAW,GAAG;IACzB,WAAW,EAAE,YAAY;IACzB,UAAU,EAAE,WAAW;IACvB,YAAY,EAAE,iBAAiB;IAC/B,UAAU,EAAE,eAAe;IAC3B,qBAAqB,EAAE,qBAAqB;IAC5C,2BAA2B,EAAE,0BAA0B;IACvD,2DAA2D;IAC3D,UAAU,EAAE,WAAW;IACvB,WAAW,EAAE,WAAW;CACzB,CAAC"}
|
package/es/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { default as MatomoProvider } from "./MatomoProvider";
|
|
2
|
+
export { default as useMatomo } from "./useMatomo";
|
|
3
|
+
export { default as MatomoContext } from "./MatomoContext";
|
|
4
|
+
export * from "./types";
|
|
5
|
+
export type { CustomDimension, UserOptions, // This is the core UserOptions, MatomoProviderProps is different
|
|
6
|
+
TrackPageViewParams, // Core type
|
|
7
|
+
TrackEventParams, // Core type
|
|
8
|
+
TrackLinkParams, // Core type
|
|
9
|
+
TrackSiteSearchParams, // Core type, though not directly used by simplified hook
|
|
10
|
+
TrackEcommerceOrderParams, // Core type
|
|
11
|
+
AddEcommerceItemParams, // Core type
|
|
12
|
+
RemoveEcommerceItemParams, // Core type
|
|
13
|
+
SetEcommerceViewParams, // Core type
|
|
14
|
+
TrackGoalParams, } from "./tracker-types";
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3D,cAAc,SAAS,CAAC;AAExB,YAAY,EACV,eAAe,EACf,WAAW,EAAE,iEAAiE;AAC9E,mBAAmB,EAAE,YAAY;AACjC,gBAAgB,EAAE,YAAY;AAC9B,eAAe,EAAE,YAAY;AAC7B,qBAAqB,EAAE,yDAAyD;AAChF,yBAAyB,EAAE,YAAY;AACvC,sBAAsB,EAAE,YAAY;AACpC,yBAAyB,EAAE,YAAY;AACvC,sBAAsB,EAAE,YAAY;AACpC,eAAe,GAChB,MAAM,iBAAiB,CAAC"}
|
package/es/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as MatomoProvider } from "./MatomoProvider";
|
|
2
|
+
export { default as useMatomo } from "./useMatomo";
|
|
3
|
+
export { default as MatomoContext } from "./MatomoContext"; // Optional: if users need direct context access
|
|
4
|
+
// Export types for consumers
|
|
5
|
+
export * from "./types"; // Exports React-specific types and re-exports tracker-types
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
package/es/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC,CAAC,gDAAgD;AAE5G,6BAA6B;AAC7B,cAAc,SAAS,CAAC,CAAC,4DAA4D"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
export interface CustomDimension {
|
|
2
|
+
id: number;
|
|
3
|
+
value: string;
|
|
4
|
+
}
|
|
5
|
+
export interface UserOptions {
|
|
6
|
+
urlBase: string;
|
|
7
|
+
siteId: number;
|
|
8
|
+
userId?: string;
|
|
9
|
+
trackerUrl?: string;
|
|
10
|
+
srcUrl?: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
heartBeat?: {
|
|
13
|
+
active: boolean;
|
|
14
|
+
seconds?: number;
|
|
15
|
+
};
|
|
16
|
+
linkTracking?: boolean;
|
|
17
|
+
configurations?: {
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface TrackPageViewParams {
|
|
22
|
+
documentTitle?: string;
|
|
23
|
+
href?: string | Location;
|
|
24
|
+
customDimensions?: boolean | CustomDimension[];
|
|
25
|
+
}
|
|
26
|
+
export interface TrackParams extends TrackPageViewParams {
|
|
27
|
+
data: any[];
|
|
28
|
+
}
|
|
29
|
+
export interface TrackEventParams {
|
|
30
|
+
category: string;
|
|
31
|
+
action: string;
|
|
32
|
+
name?: string;
|
|
33
|
+
value?: number;
|
|
34
|
+
documentTitle?: string;
|
|
35
|
+
href?: string | Location;
|
|
36
|
+
customDimensions?: boolean | CustomDimension[];
|
|
37
|
+
}
|
|
38
|
+
export interface TrackLinkParams {
|
|
39
|
+
href: string;
|
|
40
|
+
linkType?: "download" | "link";
|
|
41
|
+
customDimensions?: boolean | CustomDimension[];
|
|
42
|
+
}
|
|
43
|
+
export interface TrackSiteSearchParams extends TrackPageViewParams {
|
|
44
|
+
keyword: string;
|
|
45
|
+
category?: string;
|
|
46
|
+
count?: number;
|
|
47
|
+
}
|
|
48
|
+
export interface TrackEcommerceOrderParams {
|
|
49
|
+
orderId: string;
|
|
50
|
+
orderRevenue: number;
|
|
51
|
+
orderSubTotal?: number;
|
|
52
|
+
taxAmount?: number;
|
|
53
|
+
shippingAmount?: number;
|
|
54
|
+
discountOffered?: boolean;
|
|
55
|
+
}
|
|
56
|
+
export interface AddEcommerceItemParams {
|
|
57
|
+
sku: string;
|
|
58
|
+
productName?: string;
|
|
59
|
+
productCategory?: string;
|
|
60
|
+
productPrice?: number;
|
|
61
|
+
productQuantity?: number;
|
|
62
|
+
}
|
|
63
|
+
export interface RemoveEcommerceItemParams {
|
|
64
|
+
sku: string;
|
|
65
|
+
}
|
|
66
|
+
export interface SetEcommerceViewParams {
|
|
67
|
+
sku: string | boolean;
|
|
68
|
+
productName?: string | boolean;
|
|
69
|
+
productCategory?: string;
|
|
70
|
+
productPrice?: number;
|
|
71
|
+
}
|
|
72
|
+
export interface TrackGoalParams {
|
|
73
|
+
goalId: number | string;
|
|
74
|
+
revenue?: number;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=tracker-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracker-types.d.ts","sourceRoot":"","sources":["../src/tracker-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE;QACV,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,GAAG,eAAe,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,WAAY,SAAQ,mBAAmB;IACtD,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,GAAG,eAAe,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAE/B,gBAAgB,CAAC,EAAE,OAAO,GAAG,eAAe,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|