{"_id":"@adam20054/react-matomo","_rev":"10-ca553fa91ad3eaad13d8ff0040df2bd6","name":"@adam20054/react-matomo","dist-tags":{"latest":"1.1.5"},"versions":{"0.0.0":{"name":"@adam20054/react-matomo","version":"0.0.0","keywords":["matomo","react","analytics"],"author":{"name":"Adam O'neill","email":"ReactMatomo@AdamT05.com"},"license":"MIT","_id":"@adam20054/react-matomo@0.0.0","maintainers":[{"name":"adam20054","email":"AdamToneill05@protonmail.com"}],"homepage":"https://github.com/AdamT20054/Matomo-React#readme","bugs":{"url":"https://github.com/AdamT20054/Matomo-React/issues"},"dist":{"shasum":"8adab294b96c5f9f9e24abe5da10bddd2972e42a","tarball":"https://registry.npmjs.org/@adam20054/react-matomo/-/react-matomo-0.0.0.tgz","fileCount":3,"integrity":"sha512-2yTtV4PKJHTUtewhHo17GlHOLRPKRV+qbBULgxLbe2NzAprE8lyWPhsQHcq/XMvhB8HDan4U7Lvq0fQ9xaad/w==","signatures":[{"sig":"MEYCIQCsMfPAfTksxw65giyOV+1i7hdTVjDJtIY8QteJFB9SLwIhAJbVE59uLCLY/lYYZr0Pund30dwjPXDM1RMA5tjaGpAX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8317},"main":"dist/index.js","gitHead":"6e28b074c4379215d22a2e63f5f0d8a25db38482","scripts":{"build":"tsc"},"_npmUser":{"name":"adam20054","actor":{"name":"adam20054","type":"user","email":"AdamToneill05@protonmail.com"},"email":"AdamToneill05@protonmail.com"},"repository":{"url":"git+https://github.com/AdamT20054/Matomo-React.git","type":"git"},"_npmVersion":"11.2.0","description":"Advanced React integration for Matomo analytics.","directories":{},"_nodeVersion":"23.6.1","_hasShrinkwrap":false,"devDependencies":{"np":"^10.2.0","jest":"^29.7.0","react":"^18.2.0","tslib":"^2.6.2","eslint":"^9.29.0","prettier":"^3.5.3","typescript":"^5.4.5","@types/react":"^18.2.79"},"_npmOperationalInternal":{"tmp":"tmp/react-matomo_0.0.0_1750466189429_0.15019490979020422","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@adam20054/react-matomo","version":"1.0.0","keywords":["matomo","react","analytics","Matamo-react","react-matomo"],"author":{"name":"Adam O'neill","email":"ReactMatomo@AdamT05.com"},"license":"MIT","_id":"@adam20054/react-matomo@1.0.0","maintainers":[{"name":"adam20054","email":"AdamToneill05@protonmail.com"}],"homepage":"https://github.com/AdamT20054/Matomo-React#readme","bugs":{"url":"https://github.com/AdamT20054/Matomo-React/issues"},"dist":{"shasum":"4989e186474a945660c7f4d465bcba1748dd6f8d","tarball":"https://registry.npmjs.org/@adam20054/react-matomo/-/react-matomo-1.0.0.tgz","fileCount":63,"integrity":"sha512-8pwb9YpgYtfAGRHWOAR0mhK1F1eSeREN5xD5PiLSmHKuDtDSSB+YZzStpT+Vu0mQ1gNn6ujegOxVDY0apy6xGw==","signatures":[{"sig":"MEUCIAoadQ58H5aNgJvxAITPASmjXGYi9pbGxxmzSM05GdhqAiEA58huoREyrZRJRd24gGODmu11W6957Beh0/4cg6SyGZA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59318},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=21"},"gitHead":"90050d430fc518457fb5a969d4c898d690dd6048","scripts":{"build":"tsc","prepare":"npm run build","release":"release-it","prepublishOnly":"npm run build"},"_npmUser":{"name":"adam20054","actor":{"name":"adam20054","type":"user","email":"AdamToneill05@protonmail.com"},"email":"AdamToneill05@protonmail.com"},"repository":{"url":"git+https://github.com/AdamT20054/Matomo-React.git","type":"git"},"_npmVersion":"11.2.0","description":"Advanced React integration for Matomo analytics.","directories":{},"_nodeVersion":"23.6.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.2","eslint":"^9.29.0","prettier":"^3.5.3","release-it":"^19.0.3","typescript":"^5.4.5","@types/react":"^19.1.8"},"peerDependencies":{"react":"^18.3.1"},"_npmOperationalInternal":{"tmp":"tmp/react-matomo_1.0.0_1750482212065_0.7572608410149202","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@adam20054/react-matomo","version":"1.0.1","keywords":["matomo","react","analytics","Matamo-react","react-matomo"],"author":{"name":"Adam O'neill","email":"ReactMatomo@AdamT05.com"},"license":"MIT","_id":"@adam20054/react-matomo@1.0.1","maintainers":[{"name":"adam20054","email":"AdamToneill05@protonmail.com"}],"homepage":"https://github.com/AdamT20054/Matomo-React#readme","bugs":{"url":"https://github.com/AdamT20054/Matomo-React/issues"},"dist":{"shasum":"1b007a4f48637e930ffe01dd077baf8e956c73ac","tarball":"https://registry.npmjs.org/@adam20054/react-matomo/-/react-matomo-1.0.1.tgz","fileCount":63,"integrity":"sha512-IHuC6honaDmf1miDVKublK4tctls4fK3qc4dlBQl9xcN00K5UEApFr8as+ThbF9urUWKjBrkBnBFMLIzA6yNFA==","signatures":[{"sig":"MEQCIBs8ytbu+ubEPx/hDx+4jkSqkxBRe4Vbf7XJjRltJDS5AiBIUeG/f+oQK6vf2yfQoEalGPfNb5hWOjWDxBg4bBmvIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59676},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=21"},"gitHead":"90651f737ef0bbcd5b3d62126aad01c5613546fe","scripts":{"build":"tsc","prepare":"npm run build","release":"release-it","prepublishOnly":"npm run build"},"_npmUser":{"name":"adam20054","actor":{"name":"adam20054","type":"user","email":"AdamToneill05@protonmail.com"},"email":"AdamToneill05@protonmail.com"},"repository":{"url":"git+https://github.com/AdamT20054/Matomo-React.git","type":"git"},"_npmVersion":"11.2.0","description":"Advanced React integration for Matomo analytics.","directories":{},"_nodeVersion":"23.6.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","eslint":"^9.29.0","prettier":"^3.5.3","release-it":"^19.0.3","typescript":"^5.8.3","@types/react":"^19.1.8"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-matomo_1.0.1_1750483512397_0.016456188144449158","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@adam20054/react-matomo","version":"1.0.2","keywords":["matomo","react","analytics","Matamo-react","react-matomo"],"author":{"name":"Adam O'neill","email":"ReactMatomo@AdamT05.com"},"license":"MIT","_id":"@adam20054/react-matomo@1.0.2","maintainers":[{"name":"adam20054","email":"AdamToneill05@protonmail.com"}],"homepage":"https://github.com/AdamT20054/Matomo-React#readme","bugs":{"url":"https://github.com/AdamT20054/Matomo-React/issues"},"dist":{"shasum":"235bec5de6aaf380027efc39300962e50f722cba","tarball":"https://registry.npmjs.org/@adam20054/react-matomo/-/react-matomo-1.0.2.tgz","fileCount":63,"integrity":"sha512-7g8gFL5KC1fjJ3d+dPulKpz6GWyzVVHvNBv9fQXaTKwo8jRLt/chIpZPqIflUm8+NRBA+1kJDayyWYrhXoyR6A==","signatures":[{"sig":"MEQCIC8zxoF51CEHBuWAiFTujWAns8Gh+//fykRf68jLw8XfAiAjIu/6Y9/v50IsAcNIDHpXw3JnDBQeINGh5C1e/7t0SA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59676},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=21"},"gitHead":"6d7fde332be82a5d0d30d413b75867decf2850a3","scripts":{"build":"tsc","prepare":"npm run build","release":"release-it","prepublishOnly":"npm run build"},"_npmUser":{"name":"adam20054","actor":{"name":"adam20054","type":"user","email":"AdamToneill05@protonmail.com"},"email":"AdamToneill05@protonmail.com"},"repository":{"url":"git+https://github.com/AdamT20054/Matomo-React.git","type":"git"},"_npmVersion":"11.2.0","description":"Advanced React integration for Matomo analytics.","directories":{},"_nodeVersion":"23.6.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","eslint":"^9.29.0","prettier":"^3.5.3","release-it":"^19.0.3","typescript":"^5.8.3","@types/react":"^19.1.8"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-matomo_1.0.2_1750483742737_0.20875192839516443","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@adam20054/react-matomo","version":"1.1.0","keywords":["matomo","react","analytics","Matamo-react","react-matomo"],"author":{"name":"Adam O'neill","email":"ReactMatomo@AdamT05.com"},"license":"MIT","_id":"@adam20054/react-matomo@1.1.0","maintainers":[{"name":"adam20054","email":"AdamToneill05@protonmail.com"}],"homepage":"https://github.com/AdamT20054/Matomo-React#readme","bugs":{"url":"https://github.com/AdamT20054/Matomo-React/issues"},"dist":{"shasum":"35298b2026ddf803194aa0a76b3c6ea640d43ecf","tarball":"https://registry.npmjs.org/@adam20054/react-matomo/-/react-matomo-1.1.0.tgz","fileCount":63,"integrity":"sha512-bNPDX/AmCdX1WP/Hl409ypNuewq67IWpW4yqKHWuFmo6EonN2lTaE5CYc+Crs7RexQS1YR9lkr1uI+IE8vDQZA==","signatures":[{"sig":"MEYCIQCOfiz5/tltb+OTEK0LI8HOkL9nYYhkZGrMbqZlwTwDcwIhAM1FOYk8pC0Nn4xHmHgXYjhAXdVKHgzXpCKA/k/5jKRE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57983},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=21"},"gitHead":"99ccb1136c5165a2c6940516dd8679c6a6808e81","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","build":"npm run lint && npm run format && tsc","format":"prettier --write \"src/**/*.{ts,tsx}\" && eslint --ext .ts,.tsx --fix src/","prepare":"npm run build","release":"npm run build && release-it","lint:eslint":"eslint --ext .ts,.tsx src/","lint:prettier":"prettier --check \"src/**/*.{ts,tsx}\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"adam20054","actor":{"name":"adam20054","type":"user","email":"AdamToneill05@protonmail.com"},"email":"AdamToneill05@protonmail.com"},"repository":{"url":"git+https://github.com/AdamT20054/Matomo-React.git","type":"git"},"_npmVersion":"11.2.0","description":"Advanced React integration for Matomo analytics.","directories":{},"_nodeVersion":"23.6.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","eslint":"^9.29.0","prettier":"^3.5.3","release-it":"^19.0.3","typescript":"^5.8.3","@types/react":"^19.1.8","typescript-eslint":"^8.34.1","eslint-plugin-react":"^7.37.5","@typescript-eslint/parser":"^8.34.1","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.34.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-matomo_1.1.0_1750497365733_0.9748267916826465","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@adam20054/react-matomo","version":"1.1.1","keywords":["matomo","react","analytics","Matamo-react","react-matomo"],"author":{"name":"Adam O'neill","email":"ReactMatomo@AdamT05.com"},"license":"MIT","_id":"@adam20054/react-matomo@1.1.1","maintainers":[{"name":"adam20054","email":"AdamToneill05@protonmail.com"}],"homepage":"https://github.com/AdamT20054/Matomo-React#readme","bugs":{"url":"https://github.com/AdamT20054/Matomo-React/issues"},"dist":{"shasum":"7694eaaf8e31478a92475802b854cfe73f68459f","tarball":"https://registry.npmjs.org/@adam20054/react-matomo/-/react-matomo-1.1.1.tgz","fileCount":63,"integrity":"sha512-eLuyHJQr3lnBVe8suQx0iMpw6Nsa68boOS1Dd7VIW85PARp1IlZindrMBXXHoF2imzGiqAWVwUVpY3Iqj5ejjg==","signatures":[{"sig":"MEUCIQCA3arsQttBw5IZY6tSuDep+XjtYIwLOZPJi1wWt3pg6QIgKccIAe1E1q2JBmw2WqmEP2KHPIny+8RPmYxgLemLi8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63186},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=21"},"gitHead":"2fee3e68e9e5d93effde580ad2190fbd20836c7a","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","build":"npm run lint && npm run format && tsc","format":"prettier --write \"src/**/*.{ts,tsx}\" && eslint --ext .ts,.tsx --fix src/","prepare":"npm run build","release":"npm run build && release-it","lint:eslint":"eslint --ext .ts,.tsx src/","lint:prettier":"prettier --check \"src/**/*.{ts,tsx}\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"adam20054","actor":{"name":"adam20054","type":"user","email":"AdamToneill05@protonmail.com"},"email":"AdamToneill05@protonmail.com"},"repository":{"url":"git+https://github.com/AdamT20054/Matomo-React.git","type":"git"},"_npmVersion":"11.2.0","description":"Advanced React integration for Matomo analytics.","directories":{},"_nodeVersion":"23.6.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","eslint":"^9.29.0","prettier":"^3.6.1","release-it":"^19.0.3","typescript":"^5.8.3","@types/react":"^19.1.8","typescript-eslint":"^8.34.1","eslint-plugin-react":"^7.37.5","@typescript-eslint/parser":"^8.34.1","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.34.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-matomo_1.1.1_1750866749106_0.9422335916747664","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@adam20054/react-matomo","version":"1.1.2","keywords":["matomo","react","analytics","Matamo-react","react-matomo"],"author":{"name":"Adam O'neill","email":"ReactMatomo@AdamT05.com"},"license":"MIT","_id":"@adam20054/react-matomo@1.1.2","maintainers":[{"name":"adam20054","email":"AdamToneill05@protonmail.com"}],"homepage":"https://github.com/AdamT20054/Matomo-React#readme","bugs":{"url":"https://github.com/AdamT20054/Matomo-React/issues"},"dist":{"shasum":"c6a6cd77c29217e1381dfa5d8ebd5c7b315b70e8","tarball":"https://registry.npmjs.org/@adam20054/react-matomo/-/react-matomo-1.1.2.tgz","fileCount":63,"integrity":"sha512-pmU0FzSeUB42ok6j4bJ6NhH7k8J9XcCXiV7CsH2sCpsojXulAgHrGM7RzZ08sLMJsYOChGAHiwbwyKcTYAmseg==","signatures":[{"sig":"MEYCIQCXLjzdlilXVYlW8+Ke9agyIf7wUaU+BV4Ky0V04DU9xAIhAKI9lK7TELhc44h68UwhmztRI34YJx6GBlZqGrggt3oD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63186},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=21"},"gitHead":"e10dc2249bc3e99e0354ae882a2490d66b43127f","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","build":"npm run lint && npm run format && tsc","format":"prettier --write \"src/**/*.{ts,tsx}\" && eslint --ext .ts,.tsx --fix src/","prepare":"npm run build","release":"npm run build && release-it","lint:eslint":"eslint --ext .ts,.tsx src/","lint:prettier":"prettier --check \"src/**/*.{ts,tsx}\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"adam20054","actor":{"name":"adam20054","type":"user","email":"AdamToneill05@protonmail.com"},"email":"AdamToneill05@protonmail.com"},"repository":{"url":"git+https://github.com/AdamT20054/Matomo-React.git","type":"git"},"_npmVersion":"11.2.0","description":"Advanced React integration for Matomo analytics.","directories":{},"_nodeVersion":"23.6.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","eslint":"^9.30.1","prettier":"^3.6.2","release-it":"^19.0.3","typescript":"^5.8.3","@types/react":"^19.1.8","typescript-eslint":"^8.35.1","eslint-plugin-react":"^7.37.5","@typescript-eslint/parser":"^8.35.1","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.35.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-matomo_1.1.2_1751555772192_0.45973453051913693","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@adam20054/react-matomo","version":"1.1.3","keywords":["matomo","react","analytics","Matamo-react","react-matomo"],"author":{"name":"Adam O'neill","email":"ReactMatomo@AdamT05.com"},"license":"MIT","_id":"@adam20054/react-matomo@1.1.3","maintainers":[{"name":"adam20054","email":"AdamToneill05@protonmail.com"}],"homepage":"https://github.com/AdamT20054/Matomo-React#readme","bugs":{"url":"https://github.com/AdamT20054/Matomo-React/issues"},"dist":{"shasum":"8f1947e250ddaae2135190ccbecc479bdf2b39c4","tarball":"https://registry.npmjs.org/@adam20054/react-matomo/-/react-matomo-1.1.3.tgz","fileCount":63,"integrity":"sha512-MQXmLwNbbVbbSqxjd1sXmXhvxx/ezebp6qRdWdRXBzC8Vbcsq3jzzPUXLewZ0pl/xJdDAIfi7ZsDDtAnxBXxAw==","signatures":[{"sig":"MEUCIFlRpDqDZEGVZ/Qno6zaG7ui36ghlxpHgm0YMsIAbCqMAiEA65nD3kCzyq+ntQehblbIcJAbsGfxx1xD/+o88K4ywNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63091},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=21"},"gitHead":"23f40c7e09be2b840a8d897903172a3f50283700","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","build":"npm run lint && npm run format && tsc","format":"prettier --write \"src/**/*.{ts,tsx}\" && eslint --ext .ts,.tsx --fix src/","prepare":"npm run build","release":"npm run build && release-it","lint:eslint":"eslint --ext .ts,.tsx src/","lint:prettier":"prettier --check \"src/**/*.{ts,tsx}\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"adam20054","email":"AdamToneill05@protonmail.com"},"repository":{"url":"git+https://github.com/AdamT20054/Matomo-React.git","type":"git"},"_npmVersion":"11.2.0","description":"Advanced React integration for Matomo analytics.","directories":{},"_nodeVersion":"23.6.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","eslint":"^9.31.0","prettier":"^3.6.2","release-it":"^19.0.4","typescript":"^5.8.3","@types/react":"^19.1.8","typescript-eslint":"^8.37.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-matomo_1.1.3_1752897360587_0.17575676946112617","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@adam20054/react-matomo","version":"1.1.4","keywords":["matomo","react","analytics","Matamo-react","react-matomo"],"author":{"name":"Adam O'neill","email":"ReactMatomo@AdamT05.com"},"license":"MIT","_id":"@adam20054/react-matomo@1.1.4","maintainers":[{"name":"adam20054","email":"AdamToneill05@protonmail.com"}],"homepage":"https://github.com/AdamT20054/Matomo-React#readme","bugs":{"url":"https://github.com/AdamT20054/Matomo-React/issues"},"dist":{"shasum":"a4f5485d6d75ac7c7cb237764487460faecf3349","tarball":"https://registry.npmjs.org/@adam20054/react-matomo/-/react-matomo-1.1.4.tgz","fileCount":63,"integrity":"sha512-6hmPTAMwB8UOfqbcVo3oUTfg+Z9kl4/JZy0N9RR01dVVDRnW/GCvzo6UzU+XA3cBS1ud8pTGa2TMFNu0nRuhPQ==","signatures":[{"sig":"MEUCIQCgilYU04ZhIUPghwOCAqQKOSUDYwb4XhwqYgKdheudwQIgbDMRH8ok2a5JTGh0NZvPkNS8GL3cqKXW+Ec5oVBM4pg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55791},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=21"},"gitHead":"244ebbfd2f8591e52ef4a5935065e485d4d0c7c2","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","build":"npm run lint && npm run format && tsc","format":"prettier --write \"src/**/*.{ts,tsx}\" && eslint --ext .ts,.tsx --fix src/","prepare":"npm run build","release":"npm run build && release-it","lint:eslint":"eslint --ext .ts,.tsx src/","lint:prettier":"prettier --check \"src/**/*.{ts,tsx}\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"adam20054","email":"AdamToneill05@protonmail.com"},"repository":{"url":"git+https://github.com/AdamT20054/Matomo-React.git","type":"git"},"_npmVersion":"11.2.0","description":"Advanced React integration for Matomo analytics.","directories":{},"_nodeVersion":"23.6.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","eslint":"^9.31.0","prettier":"^3.6.2","release-it":"^19.0.4","typescript":"^5.8.3","@types/react":"^19.1.8","typescript-eslint":"^8.37.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-matomo_1.1.4_1753095401725_0.5652735689358694","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@adam20054/react-matomo","version":"1.1.5","description":"Advanced React integration for Matomo analytics.","main":"dist/index.js","scripts":{"release":"npm run build && release-it","build":"npm run lint && npm run format && tsc","prepare":"npm run build","prepublishOnly":"npm run build","lint":"npm run lint:eslint && npm run lint:prettier","lint:eslint":"eslint --ext .ts,.tsx src/","lint:prettier":"prettier --check \"src/**/*.{ts,tsx}\"","format":"prettier --write \"src/**/*.{ts,tsx}\" && eslint --ext .ts,.tsx --fix src/"},"repository":{"type":"git","url":"git+https://github.com/AdamT20054/Matomo-React.git"},"keywords":["matomo","react","analytics","Matamo-react","react-matomo"],"types":"dist/index.d.ts","bugs":{"url":"https://github.com/AdamT20054/Matomo-React/issues"},"homepage":"https://github.com/AdamT20054/Matomo-React#readme","author":{"name":"Adam O'neill","email":"ReactMatomo@AdamT05.com"},"license":"MIT","devDependencies":{"@eslint/js":"^9.32.0","@types/react":"^19.1.9","eslint":"^9.32.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","prettier":"^3.6.2","release-it":"^19.0.4","tslib":"^2.8.1","typescript":"^5.8.2","typescript-eslint":"^8.38.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0"},"engines":{"node":">=21"},"publishConfig":{"access":"public"},"type":"module","_id":"@adam20054/react-matomo@1.1.5","gitHead":"e47210b78d7e798bacf2dab58c8b8742a3d8bce3","_nodeVersion":"23.6.1","_npmVersion":"11.2.0","dist":{"integrity":"sha512-JbDcWoXXlPbthHjf5msDKpCApjxkIesoR/PTHvYeaaPsJbADrKq8LS2X9XYaK3FQg4rcH6xmF9DW3M6PBeTdfw==","shasum":"542600945799a5c4cce680aec12041c6816c03a6","tarball":"https://registry.npmjs.org/@adam20054/react-matomo/-/react-matomo-1.1.5.tgz","fileCount":63,"unpackedSize":55881,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFJ2jk+HaqtjU+cjuT0LCmCkS3dB0j52+EiJpyMsyijqAiAsAhE56fqvTod2YqIugMuxHzQ5wzyHxkecRjniXAVpig=="}]},"_npmUser":{"name":"adam20054","email":"AdamToneill05@protonmail.com"},"directories":{},"maintainers":[{"name":"adam20054","email":"AdamToneill05@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-matomo_1.1.5_1754078404452_0.20820878616013472"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-21T00:36:29.355Z","modified":"2025-08-01T20:00:04.811Z","0.0.0":"2025-06-21T00:36:29.596Z","1.0.0":"2025-06-21T05:03:32.238Z","1.0.1":"2025-06-21T05:25:12.598Z","1.0.2":"2025-06-21T05:29:02.921Z","1.1.0":"2025-06-21T09:16:05.920Z","1.1.1":"2025-06-25T15:52:29.272Z","1.1.2":"2025-07-03T15:16:12.416Z","1.1.3":"2025-07-19T03:56:00.781Z","1.1.4":"2025-07-21T10:56:41.923Z","1.1.5":"2025-08-01T20:00:04.642Z"},"bugs":{"url":"https://github.com/AdamT20054/Matomo-React/issues"},"author":{"name":"Adam O'neill","email":"ReactMatomo@AdamT05.com"},"license":"MIT","homepage":"https://github.com/AdamT20054/Matomo-React#readme","keywords":["matomo","react","analytics","Matamo-react","react-matomo"],"repository":{"type":"git","url":"git+https://github.com/AdamT20054/Matomo-React.git"},"description":"Advanced React integration for Matomo analytics.","maintainers":[{"name":"adam20054","email":"AdamToneill05@protonmail.com"}],"readme":"<!--suppress ALL -->\r\n<h1 align=\"center\" id=\"title\">@Adam20054/Matamo-React</h1>\r\n\r\n\r\n<p align=\"center\"><img src=\"https://socialify.git.ci/AdamT20054/Matomo-React/image?custom_description=A+powerful+and+flexible+React+integration+for+Matomo+analytics+with+TypeScript+support.&description=1&font=JetBrains+Mono&forks=1&issues=1&language=1&name=1&owner=1&pattern=Plus&pulls=1&stargazers=1&theme=Dark\" with=\"75%\"></p>\r\n\r\n<p align=\"center\">\r\n  <a href=\"https://github.com/AdamT20054/Matomo-React/actions/workflows/build.yml\">\r\n    <img src=\"https://github.com/AdamT20054/Matomo-React/actions/workflows/build.yml/badge.svg\" alt=\"Build Status\" />\r\n  </a>\r\n  <a href=\"https://github.com/AdamT20054/Matomo-React/actions/workflows/codeql-analysis.yml\">\r\n    <img src=\"https://github.com/AdamT20054/Matomo-React/actions/workflows/codeql-analysis.yml/badge.svg\" alt=\"CodeQL Status\" />\r\n  </a>\r\n  <a href=\"https://github.com/AdamT20054/Matomo-React/actions/workflows/qodana_code_quality.yml\">\r\n    <img src=\"https://github.com/AdamT20054/Matomo-React/actions/workflows/qodana_code_quality.yml/badge.svg\" alt=\"Qodana Status\" />\r\n  </a>\r\n  <a href=\"https://github.com/AdamT20054/Matomo-React/actions/workflows/dependency-review.yml\">\r\n    <img src=\"https://github.com/AdamT20054/Matomo-React/actions/workflows/dependency-review.yml/badge.svg\" alt=\"Dependency Review\" />\r\n  </a>\r\n  <a href=\"https://github.com/AdamT20054/Matomo-React/actions/workflows/lint.yml\">\r\n    <img src=\"https://github.com/AdamT20054/Matomo-React/actions/workflows/lint.yml/badge.svg\" alt=\"Lint Status\" />\r\n  </a>\r\n  <a href=\"https://www.npmjs.com/package/@adam20054/react-matomo\">\r\n    <img src=\"https://img.shields.io/npm/v/@adam20054/react-matomo.svg\" alt=\"npm version\" />\r\n  </a>\r\n  <a href=\"https://www.npmjs.com/package/@adam20054/react-matomo\">\r\n    <img src=\"https://img.shields.io/npm/dm/@adam20054/react-matomo.svg\" alt=\"npm downloads\" />\r\n  </a>\r\n</p>\r\n\r\n## What is Matomo React?\r\n\r\nMatomo React is a comprehensive TypeScript library that seamlessly integrates Matomo analytics into your React applications. It provides a simple, yet powerful API for tracking user interactions, page views, events, and more, while maintaining full type safety.\r\n\r\n\r\n\r\n## Table of Contents\r\n\r\n<div align=\"center\">\r\n  <table style=\"width: 100%; max-width: 900px; border-collapse: separate; border-spacing: 0; border: 1px solid #30363d; border-radius: 10px; overflow: hidden; background-color: #161b22; color: #c9d1d9;\">\r\n    <tr>\r\n      <td valign=\"top\" style=\"padding: 16px; width: 50%; border-right: 1px solid #30363d;\">\r\n        <strong style=\"color: #f0f6fc;\">Getting Started</strong><br />\r\n        <a href=\"#quick-start\" style=\"color: #58a6ff;\">Quick Start</a><br />\r\n        <a href=\"#installation\" style=\"color: #58a6ff;\">Installation</a><br />\r\n        <a href=\"#basic-usage\" style=\"color: #58a6ff;\">Basic Usage</a><br />\r\n        <a href=\"#configuration-options\" style=\"color: #58a6ff;\">Configuration Options</a><br />\r\n      </td>\r\n      <td valign=\"top\" style=\"padding: 16px; width: 50%;\">\r\n        <strong style=\"color: #f0f6fc;\">Tracking Features</strong><br />\r\n        <a href=\"#tracking-methods\" style=\"color: #58a6ff;\">Tracking Methods</a><br />\r\n        <a href=\"#tracking-page-views\" style=\"color: #58a6ff;\">Page Views</a><br />\r\n        <a href=\"#tracking-events\" style=\"color: #58a6ff;\">Events</a><br />\r\n        <a href=\"#tracking-site-searches\" style=\"color: #58a6ff;\">Site Searches</a><br />\r\n        <a href=\"#custom-dimensions\" style=\"color: #58a6ff;\">Custom Dimensions</a><br />\r\n      </td>\r\n    </tr>\r\n    <tr>\r\n      <td valign=\"top\" style=\"padding: 16px; border-top: 1px solid #30363d; border-right: 1px solid #30363d;\">\r\n        <strong style=\"color: #f0f6fc;\">Advanced Features</strong><br />\r\n        <a href=\"#advanced-features\" style=\"color: #58a6ff;\">Overview</a><br />\r\n        <a href=\"#custom-instructions\" style=\"color: #58a6ff;\">Custom Instructions</a><br />\r\n        <a href=\"#ecommerce-tracking\" style=\"color: #58a6ff;\">Ecommerce Tracking</a><br />\r\n        <a href=\"#goal-tracking\" style=\"color: #58a6ff;\">Goal Tracking</a><br />\r\n        <a href=\"#content-tracking\" style=\"color: #58a6ff;\">Content Tracking</a><br />\r\n        <a href=\"#user-consent-management\" style=\"color: #58a6ff;\">User Consent Management</a><br />\r\n        <a href=\"#download-and-outlink-tracking\" style=\"color: #58a6ff;\">Download & Outlink Tracking</a><br />\r\n        <a href=\"#cross-domain-tracking\" style=\"color: #58a6ff;\">Cross-Domain Tracking</a><br />\r\n        <a href=\"#custom-variables\" style=\"color: #58a6ff;\">Custom Variables</a><br />\r\n        <a href=\"#multiple-tracker-instances\" style=\"color: #58a6ff;\">Multiple Tracker Instances</a><br />\r\n      </td>\r\n      <td valign=\"top\" style=\"padding: 16px; border-top: 1px solid #30363d;\">\r\n        <strong style=\"color: #f0f6fc;\">Additional Information</strong><br />\r\n        <a href=\"#performance-optimization\" style=\"color: #58a6ff;\">Performance Optimization</a><br />\r\n        <a href=\"#deferred-tracking\" style=\"color: #58a6ff;\">Deferred Tracking</a><br />\r\n        <a href=\"#optimized-event-tracking\" style=\"color: #58a6ff;\">Optimized Event Tracking</a><br />\r\n        <a href=\"#debugging\" style=\"color: #58a6ff;\">Debugging</a><br />\r\n        <a href=\"#contributing\" style=\"color: #58a6ff;\">Contributing</a><br />\r\n        <a href=\"#license\" style=\"color: #58a6ff;\">License</a><br />\r\n        <a href=\"#project-background\" style=\"color: #58a6ff;\">Project Background</a><br />\r\n      </td>\r\n    </tr>\r\n  </table>\r\n</div>\r\n\r\n\r\n\r\n\r\n## Quick Start\r\n\r\nGet started quickly with Matomo React by following this simple example:\r\n\r\n```tsx\r\nimport { MatomoProvider, useMatomo } from \"@adam20054/react-matomo\";\r\n\r\n// Basic configuration\r\nconst config = {\r\n  trackerBaseUrl: \"https://analytics.example.com\",\r\n  siteId: 1\r\n};\r\n\r\n// App component with provider\r\nfunction App() {\r\n  return (\r\n    <MatomoProvider config={config}>\r\n      <YourApp />\r\n    </MatomoProvider>\r\n  );\r\n}\r\n\r\n// Component using tracking\r\nfunction HomePage() {\r\n  const { tracker } = useMatomo();\r\n\r\n  // Track page view when component mounts\r\n  React.useEffect(() => {\r\n    tracker.trackPageView();\r\n  }, [tracker]);\r\n\r\n  return <h1>Welcome to my site</h1>;\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall the module from NPM registry:\r\n\r\n**npm:**\r\n```bash\r\nnpm i --save @adam20054/react-matomo\r\n```\r\n\r\n**yarn:**\r\n```bash\r\nyarn add @adam20054/react-matomo\r\n```\r\n\r\n## Basic Usage\r\n\r\n1. **Set up the provider** in your app's root component:\r\n\r\n```tsx\r\nimport { MatomoProvider } from \"@adam20054/react-matomo\";\r\n\r\nconst config = {\r\n  trackerBaseUrl: \"https://analytics.example.com\",\r\n  siteId: 1\r\n};\r\n\r\nfunction App() {\r\n  return (\r\n    <MatomoProvider config={config}>\r\n      <YourApp />\r\n    </MatomoProvider>\r\n  );\r\n}\r\n```\r\n\r\n2. **Use the tracker** in your components:\r\n\r\n```tsx\r\nimport { useMatomo } from \"@adam20054/react-matomo\";\r\n\r\nfunction YourComponent() {\r\n  const { tracker } = useMatomo();\r\n\r\n  // Track page view\r\n  React.useEffect(() => {\r\n    tracker.trackPageView();\r\n  }, [tracker]);\r\n\r\n  // Track an event\r\n  const handleButtonClick = () => {\r\n    tracker.trackEvent({\r\n      category: \"User Interaction\",\r\n      action: \"Button Click\",\r\n      name: \"Get Started\"\r\n    });\r\n  };\r\n\r\n  return (\r\n    <div>\r\n      <h1>Your Component</h1>\r\n      <button onClick={handleButtonClick}>Get Started</button>\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\n3. **Use the optimized event tracking hook** for better performance:\r\n\r\n```tsx\r\nimport { useMatomoEvent } from \"@adam20054/react-matomo\";\r\n\r\nfunction YourComponent() {\r\n  const { trackPageView, trackEvent } = useMatomoEvent();\r\n\r\n  // Track page view\r\n  React.useEffect(() => {\r\n    trackPageView();\r\n  }, [trackPageView]);\r\n\r\n  // Track an event (memoized function)\r\n  const handleButtonClick = () => {\r\n    trackEvent({\r\n      category: \"User Interaction\",\r\n      action: \"Button Click\",\r\n      name: \"Get Started\"\r\n    });\r\n  };\r\n\r\n  return (\r\n    <div>\r\n      <h1>Your Component</h1>\r\n      <button onClick={handleButtonClick}>Get Started</button>\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\n## Configuration Options\r\n\r\nFor a comprehensive guide on Matomo JavaScript tracking, see the [Matomo JavaScript Tracking Guide](https://developer.matomo.org/guides/tracking-javascript-guide).\r\n\r\n| Option | Type | Required? | Description | Default |\r\n| --- | --- | --- | --- | --- |\r\n| `siteId` | String/Number | ✅ | The site identifier from your Matomo dashboard | - |\r\n| `trackerBaseUrl` | String | ✅ | Base URL of your Matomo installation. Can be: 1) Domain only (e.g., \"https://analytics.example.com\"), or 2) Path without file extension (e.g., \"https://example.com/api/\"). Matomo will assume you're using matamo.js/php as the filename unless matomo(Js/Php)FileName is specified in your config | - |\r\n| `userId` | String | - | User identifier for cross-device tracking | - |\r\n| `disableTracking` | Boolean | - | When true, disables all tracking | `false` |\r\n| `deferTracking` | Boolean | - | Defers tracking until after critical content loads | `false` |\r\n| `debug` | Boolean | - | Enables debug mode with console logging | `false` |\r\n| `enableJSErrorTracking` | Boolean | - | Tracks JavaScript errors as events | `false` |\r\n| `urlTransformer` | Function | - | Transforms URLs before tracking | - |\r\n| `heartBeat` | Object | - | Configuration for heartbeat feature | `{ active: true, seconds: 15 }` |\r\n| `disableLinkTracking` | Boolean | - | Disables automatic link tracking | `false` |\r\n| `matomoJsFileName` | String | - | Custom filename for Matomo JS (required if you need to use a custom filename) | `\"matomo.js\"` |\r\n| `matomoPhpFileName` | String | - | Custom filename for Matomo PHP (required if you need to use a custom filename) | `\"matomo.php\"` |\r\n| `requestMethod` | RequestMethod | - | HTTP method for tracking requests | `RequestMethod.GET` |\r\n| `configurations` | Object | - | Additional Matomo configurations. For options not specifically built into the config options but still supported by Matomo. See [Matomo JavaScript Tracking Guide](https://developer.matomo.org/guides/tracking-javascript) for available options. | - |\r\n\r\n### TrackerBaseUrl Examples\r\n\r\nThe `trackerBaseUrl` option can be used in two different ways:\r\n\r\n<details>\r\n<summary><strong>Click to see a URL configuration example</strong></summary>\r\n\r\n```tsx\r\n// 1. Domain only - standard matomo.js/php files at the root\r\nconst config1 = {\r\n  trackerBaseUrl: \"https://analytics.example.com\",\r\n  siteId: 1\r\n};\r\n\r\n// 2. Path without file extension - standard matomo.js/php files at that path\r\nconst config2 = {\r\n  trackerBaseUrl: \"https://example.com/api/\",\r\n  siteId: 1\r\n};\r\n```\r\n</details>\r\n\r\n### Custom Filenames\r\n\r\nIf you need to use custom filenames instead of the default \"matomo.js\" and \"matomo.php\", you must specify them explicitly:\r\n\r\n<details>\r\n<summary><strong>Click to see a custom filename configuration example</strong></summary>\r\n\r\n```tsx\r\nconst config = {\r\n  trackerBaseUrl: \"https://analytics.example.com\",\r\n  siteId: 1,\r\n  matomoJsFileName: \"custom.js\",\r\n  matomoPhpFileName: \"custom.php\"\r\n};\r\n```\r\n</details>\r\n\r\n### URL Transformer\r\n\r\nThe `urlTransformer` option allows you to modify URLs before they are sent to Matomo:\r\n\r\n<details>\r\n<summary><strong>Click to see a URL transformer example</strong></summary>\r\n\r\n```tsx\r\nconst urlTransformer = (url: string) => {\r\n  // Remove UUIDs from the URL\r\n  const UUIDV4_REGEX = /[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/g;\r\n  return url.replaceAll(UUIDV4_REGEX, \"**MASKED**\");\r\n};\r\n\r\nconst config = {\r\n  trackerBaseUrl: \"https://analytics.example.com\",\r\n  siteId: 1,\r\n  urlTransformer\r\n};\r\n```\r\n</details>\r\n\r\n## Tracking Methods\r\n\r\nThis section covers the core tracking functionality provided by the library. These methods allow you to track various user interactions and behaviors in your React application. Click on each example to see the code.\r\n\r\n### Tracking Page Views\r\n\r\n<details>\r\n<summary><strong>Click to see page view tracking examples</strong></summary>\r\n\r\n```tsx\r\n// Basic page view tracking\r\ntracker.trackPageView();\r\n\r\n// With custom parameters\r\ntracker.trackPageView({\r\n  documentTitle: \"Custom Page Title\",\r\n  href: \"https://example.com/custom-path\",\r\n  customDimensions: [\r\n    { id: 1, value: \"Premium\" }\r\n  ]\r\n});\r\n```\r\n</details>\r\n\r\n### Tracking Events\r\n\r\n<details>\r\n<summary><strong>Click to see event tracking examples</strong></summary>\r\n\r\n```tsx\r\ntracker.trackEvent({\r\n  category: \"User Interaction\",\r\n  action: \"Button Click\",\r\n  name: \"Sign Up Button\",\r\n  value: 1\r\n});\r\n```\r\n</details>\r\n\r\n### Tracking Site Searches\r\n\r\n<details>\r\n<summary><strong>Click to see site search tracking examples</strong></summary>\r\n\r\n```tsx\r\ntracker.trackSiteSearch({\r\n  keyword: \"react analytics\",\r\n  category: \"Documentation\",\r\n  count: 5\r\n});\r\n```\r\n</details>\r\n\r\n### Custom Dimensions\r\n\r\nCustom dimensions can be included with any tracking call:\r\n\r\n<details>\r\n<summary><strong>Click to see custom dimension examples</strong></summary>\r\n\r\n```tsx\r\ntracker.trackPageView({\r\n  customDimensions: [\r\n    { id: 1, value: \"Premium\" },\r\n    { id: 2, value: \"Europe\" }\r\n  ]\r\n});\r\n```\r\n</details>\r\n\r\n## Advanced Features\r\n\r\nThis section covers advanced Matomo tracking capabilities that can be implemented with this library. Each feature includes example code that can be expanded by clicking on it.\r\n\r\n### Custom Instructions\r\n\r\nYou can use any Matomo tracking feature through the `addCustomInstruction` method:\r\n\r\n<details>\r\n<summary><strong>Click to see custom instruction examples</strong></summary>\r\n\r\n```tsx\r\n// Track a goal conversion\r\ntracker.addCustomInstruction('trackGoal', 1, 50.0);\r\n\r\n// Enable cross-domain linking\r\ntracker.addCustomInstruction('enableCrossDomainLinking');\r\n\r\n// Set a custom variable\r\ntracker.addCustomInstruction('setCustomVariable', 1, 'Category', 'Sports', 'page');\r\n```\r\n</details>\r\n\r\n### Ecommerce Tracking\r\n\r\n<details>\r\n<summary><strong>Click to see ecommerce tracking examples</strong></summary>\r\n\r\n```tsx\r\n// Add an item to the cart\r\ntracker.addCustomInstruction('addEcommerceItem', \r\n  'SKU123',         // Product SKU\r\n  'Product Name',   // Product name\r\n  'Product Category', // Product category\r\n  99.99,            // Product price\r\n  2                 // Quantity\r\n);\r\n\r\n// Track a cart update\r\ntracker.addCustomInstruction('trackEcommerceCartUpdate', 199.98);\r\n\r\n// Track an order\r\ntracker.addCustomInstruction('trackEcommerceOrder',\r\n  'ORDER123',       // Order ID\r\n  199.98,           // Grand total\r\n  180.00,           // Subtotal\r\n  19.98,            // Tax\r\n  0,                // Shipping\r\n  0                 // Discount\r\n);\r\n```\r\n</details>\r\n\r\n### Goal Tracking\r\n\r\n<details>\r\n<summary><strong>Click to see goal tracking examples</strong></summary>\r\n\r\n```tsx\r\n// Track a goal conversion\r\ntracker.addCustomInstruction('trackGoal', 1);\r\n\r\n// Track a goal conversion with revenue\r\ntracker.addCustomInstruction('trackGoal', 1, 50.0);\r\n```\r\n</details>\r\n\r\n### Content Tracking\r\n\r\n<details>\r\n<summary><strong>Click to see content tracking examples</strong></summary>\r\n\r\n```tsx\r\n// Track all content impressions on the page\r\ntracker.addCustomInstruction('trackAllContentImpressions');\r\n\r\n// Track only visible content impressions\r\ntracker.addCustomInstruction('trackVisibleContentImpressions', true, 750);\r\n\r\n// Track a content impression manually\r\ntracker.addCustomInstruction('trackContentImpression', \r\n  'Content Name', \r\n  'Content Piece', \r\n  'https://example.com'\r\n);\r\n\r\n// Track a content interaction manually\r\ntracker.addCustomInstruction('trackContentInteraction',\r\n  'click',\r\n  'Content Name',\r\n  'Content Piece',\r\n  'https://example.com'\r\n);\r\n```\r\n</details>\r\n\r\n### User Consent Management\r\n\r\n<details>\r\n<summary><strong>Click to see consent management examples</strong></summary>\r\n\r\n```tsx\r\n// Require consent before tracking\r\ntracker.addCustomInstruction('requireConsent');\r\n\r\n// Set consent for the current user\r\ntracker.addCustomInstruction('setConsentGiven');\r\n\r\n// Remember consent for the current user\r\ntracker.addCustomInstruction('rememberConsentGiven', 30); // 30 days\r\n\r\n// Forget consent for the current user\r\ntracker.addCustomInstruction('forgetConsentGiven');\r\n```\r\n</details>\r\n\r\n### Download and Outlink Tracking\r\n\r\n<details>\r\n<summary><strong>Click to see download and outlink tracking examples</strong></summary>\r\n\r\n```tsx\r\n// Set custom file extensions to be recognized as downloads\r\ntracker.addCustomInstruction('setDownloadExtensions', 'zip|rar|pdf');\r\n\r\n// Add additional file extensions to be recognized as downloads\r\ntracker.addCustomInstruction('addDownloadExtensions', 'docx|xlsx');\r\n\r\n// Manually track a download\r\ntracker.addCustomInstruction('trackLink', 'https://example.com/file.pdf', 'download');\r\n\r\n// Manually track an outlink\r\ntracker.addCustomInstruction('trackLink', 'https://external-site.com', 'link');\r\n```\r\n</details>\r\n\r\n### Cross-Domain Tracking\r\n\r\n<details>\r\n<summary><strong>Click to see cross-domain tracking examples</strong></summary>\r\n\r\n```tsx\r\n// Enable cross-domain linking\r\ntracker.addCustomInstruction('enableCrossDomainLinking');\r\n\r\n// Set the domains to be treated as local\r\ntracker.addCustomInstruction('setDomains', ['example.com', '*.example.org']);\r\n```\r\n</details>\r\n\r\n### Custom Variables\r\n\r\n<details>\r\n<summary><strong>Click to see custom variable examples</strong></summary>\r\n\r\n```tsx\r\n// Set a custom variable for the current visit\r\ntracker.addCustomInstruction('setCustomVariable', 1, 'Gender', 'Male', 'visit');\r\n\r\n// Set a custom variable for the current page view\r\ntracker.addCustomInstruction('setCustomVariable', 2, 'Category', 'Sports', 'page');\r\n```\r\n</details>\r\n\r\n### Multiple Tracker Instances\r\n\r\n<details>\r\n<summary><strong>Click to see multiple tracker configuration examples</strong></summary>\r\n\r\n```tsx\r\n// Add a second tracker to track data to another Matomo instance\r\ntracker.addCustomInstruction('addTracker', 'https://another-matomo.com/matomo.php', 2);\r\n```\r\n</details>\r\n\r\n## Performance Optimization\r\n\r\nThis section provides techniques to optimize the performance impact of Matomo tracking in your React application. These optimizations help ensure that analytics tracking doesn't negatively affect your application's user experience.\r\n\r\n### Deferred Tracking\r\n\r\nYou can defer tracking until after critical page content has loaded:\r\n\r\n<details>\r\n<summary><strong>Click to see deferred tracking configuration example</strong></summary>\r\n\r\n```tsx\r\nconst config = {\r\n  trackerBaseUrl: \"https://analytics.example.com\",\r\n  siteId: 1,\r\n  deferTracking: true\r\n};\r\n```\r\n</details>\r\n\r\nThis improves initial page load performance by loading the Matomo script with lower priority.\r\n\r\n### Optimized Event Tracking\r\n\r\nUse the `useMatomoEvent` hook for optimized event tracking with memoized functions:\r\n\r\n<details>\r\n<summary><strong>Click to see optimized event tracking examples</strong></summary>\r\n\r\n```tsx\r\nimport { useMatomoEvent } from \"@adam20054/react-matomo\";\r\n\r\nfunction YourComponent() {\r\n  const { trackEvent } = useMatomoEvent();\r\n\r\n  // This function won't cause unnecessary re-renders\r\n  const handleClick = () => {\r\n    trackEvent({\r\n      category: \"User Interaction\",\r\n      action: \"Button Click\"\r\n    });\r\n  };\r\n\r\n  return <button onClick={handleClick}>Click Me</button>;\r\n}\r\n```\r\n</details>\r\n\r\n## Debugging\r\n\r\nWhen implementing Matomo tracking, it's helpful to verify that events are being tracked correctly. The debug mode provides detailed logging to help you troubleshoot any issues:\r\n\r\nEnable debug mode to log tracking information to the console:\r\n\r\n<details>\r\n<summary><strong>Click to see debugging configuration example</strong></summary>\r\n\r\n```tsx\r\nconst config = {\r\n  trackerBaseUrl: \"https://analytics.example.com\",\r\n  siteId: 1,\r\n  debug: true\r\n};\r\n```\r\n</details>\r\n\r\nThis will log:\r\n- All tracking commands sent to Matomo\r\n- Warnings about deprecated or misconfigured options\r\n- Information about tracking being disabled or skipped\r\n\r\n## Contributing\r\n\r\nContributions are welcome! If you'd like to contribute to this project, please follow these steps:\r\n\r\n1. Fork the repository\r\n2. Create a new branch for your feature or bugfix\r\n3. Make your changes\r\n4. Add or update tests as necessary\r\n5. Run the tests to make sure everything passes\r\n6. Submit a pull request\r\n\r\nPlease make sure your code follows the existing style and includes appropriate tests.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT Licence.\r\n\r\n---\r\n\r\n## Project Background\r\n\r\nThis project builds upon the foundations of [React Matomo Tracker](https://github.com/keiko-app/react-matomo) and [Matomo-Tracker](https://github.com/jonkoops/matomo-tracker), enhancing them with advanced customization options, improved TypeScript support, and modern React patterns.\r\n\r\nOriginally created to enable custom Matomo tracker URLs (beyond the standard Matomo.js/php), the library has evolved into a complete solution for React analytics with an emphasis on developer experience and flexibility.\r\n","readmeFilename":"README.md"}