{"_id":"@testa-soft/react","_rev":"26-aa01d55b00ec00421980598ea58ecd48","name":"@testa-soft/react","dist-tags":{"dev":"1.4.0-dev.0","latest":"1.5.0"},"versions":{"0.0.2-dev.0":{"name":"@testa-soft/react","version":"0.0.2-dev.0","license":"UNLICENSED","_id":"@testa-soft/react@0.0.2-dev.0","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"03f67529d84219923c1dc58730c0486f99470106","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-0.0.2-dev.0.tgz","fileCount":8,"integrity":"sha512-uj8JzPTxXVXMisk2DSTjzqHB2Ch1mT64kHoH3eJ5hDhbiy3y1x/OKvCYOMRdQ+AhCV0RGQpd9RgkjN6P1Edv1g==","signatures":[{"sig":"MEUCIQD2OQxn1txem6/t4nqIc2pm7eatooY1GoqyLXlGTSUZ1gIga+tbrC6kUZ+iRdsZ9EVf0NwARlhWb6G/98mmOjjJEb4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152782},"main":"./dist/index.cjs","type":"module","_from":"file:testa-soft-react-0.0.2-dev.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/private/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/c3bcfef3384fe9e15a1c2194fc4b48f6/testa-soft-react-0.0.2-dev.0.tgz","_integrity":"sha512-uj8JzPTxXVXMisk2DSTjzqHB2Ch1mT64kHoH3eJ5hDhbiy3y1x/OKvCYOMRdQ+AhCV0RGQpd9RgkjN6P1Edv1g==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (Lovable and other no-server apps).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"0.0.2-dev.0","@testa-soft/experiment-core":"0.0.2-dev.0"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.0.2-dev.0_1787029124309_0.8129288640351082","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-dev.3":{"name":"@testa-soft/react","version":"0.0.2-dev.3","license":"UNLICENSED","_id":"@testa-soft/react@0.0.2-dev.3","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"99ef59744bb296f4507026c3e373a80f3ccbca51","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-0.0.2-dev.3.tgz","fileCount":8,"integrity":"sha512-z6Qy9FGeq+BTj+VpbWlUUCxw1QvGtUthE8QMM3wDaNRJ/mrVAlpuRQlAPWs3+++0SH84vK6ZAZGft7Pnk4Jb6Q==","signatures":[{"sig":"MEYCIQC/TpBbNFH8mZaSCVN50G1tcbwoBcIcOoiO3xWbAUip/gIhALftqrNGRheJS2fMJcJMR2dd3wxEIXLr4M1NxnwZjoML","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154120},"main":"./dist/index.cjs","type":"module","_from":"file:testa-soft-react-0.0.2-dev.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/private/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/18bb6321bca188cddc91c2b44f27b3ef/testa-soft-react-0.0.2-dev.3.tgz","_integrity":"sha512-z6Qy9FGeq+BTj+VpbWlUUCxw1QvGtUthE8QMM3wDaNRJ/mrVAlpuRQlAPWs3+++0SH84vK6ZAZGft7Pnk4Jb6Q==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (Lovable and other no-server apps).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"0.0.2-dev.0","@testa-soft/experiment-core":"0.0.2-dev.2"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.0.2-dev.3_1787051133052_0.692760405064992","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-dev.4":{"name":"@testa-soft/react","version":"0.0.2-dev.4","license":"UNLICENSED","_id":"@testa-soft/react@0.0.2-dev.4","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"a004bdcf36df9cec6e6efbedde61672da8a34b7f","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-0.0.2-dev.4.tgz","fileCount":8,"integrity":"sha512-BlVJ1DyJAnWNojO8d2usAX0YRGnaA4PgFvEwxawhWip82t2dlICPYYY9ZzL4Zr/Q4pxoEbYwa1RR//M/fhxJBA==","signatures":[{"sig":"MEUCIQC0gHaSacwk9vNjLn0zt7xbpCQRgDV4IKZEqHqCA3ynkgIgIyTzr4c3snSeOLPBjcy4/uGGumZtUEsg4TS/03M6cR4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155563},"main":"./dist/index.cjs","type":"module","_from":"file:testa-soft-react-0.0.2-dev.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/private/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/b438029d4bb1d906a43900b87812436b/testa-soft-react-0.0.2-dev.4.tgz","_integrity":"sha512-BlVJ1DyJAnWNojO8d2usAX0YRGnaA4PgFvEwxawhWip82t2dlICPYYY9ZzL4Zr/Q4pxoEbYwa1RR//M/fhxJBA==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"0.0.2-dev.0","@testa-soft/experiment-core":"0.0.2-dev.4"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.0.2-dev.4_1787148987965_0.4687348605514772","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-dev.6":{"name":"@testa-soft/react","version":"0.0.2-dev.6","license":"UNLICENSED","_id":"@testa-soft/react@0.0.2-dev.6","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"eac8946381265c36c408d55d55251269bb7bec42","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-0.0.2-dev.6.tgz","fileCount":8,"integrity":"sha512-8T6m7nFYZcUfrUKo5TXLf8+YFUe1BXvza9WOT3sve3VF+gY2YvEgZ1Is8J4zxCWOopO6rr1T2yv5w0pLd8EYNQ==","signatures":[{"sig":"MEUCICG/3JSh2eVw/8AOJ3kM4RO7C5ap0MNtVy2H8jBW5EQAAiEAv6P0i5sIlAoLCdO+tAvxqAE2di+j6m/pPo300CdFw+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160916},"main":"./dist/index.cjs","type":"module","_from":"file:testa-soft-react-0.0.2-dev.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/private/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/616a68620a320018ed8d2cef9d462a17/testa-soft-react-0.0.2-dev.6.tgz","_integrity":"sha512-8T6m7nFYZcUfrUKo5TXLf8+YFUe1BXvza9WOT3sve3VF+gY2YvEgZ1Is8J4zxCWOopO6rr1T2yv5w0pLd8EYNQ==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"0.0.2-dev.6","@testa-soft/experiment-core":"0.0.2-dev.6"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.0.2-dev.6_1787152243699_0.9644335572160949","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-dev.7":{"name":"@testa-soft/react","version":"0.0.2-dev.7","license":"UNLICENSED","_id":"@testa-soft/react@0.0.2-dev.7","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"20e1ee9521c359f31aae73178db941eef5171209","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-0.0.2-dev.7.tgz","fileCount":8,"integrity":"sha512-LyyNm6m5Kx55akeOlHP+RKt8nuMhoGnsm8sHZoRMSBKe/ZYDhoAId5Uv+jLVXwQaVLEoBSgYTvtopH1VUgeeRA==","signatures":[{"sig":"MEQCIFhIWVBsI52ojYuzc4MjcO76XEY1rR5YxjcjvzMXUooQAiAXip9AStLoumFzIBLJE0GLpPHp0msqEJ2v5LhMGpDdGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196032},"main":"./dist/index.cjs","type":"module","_from":"file:testa-soft-react-0.0.2-dev.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/private/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/61b3960f1bd532aadf91ba542284041c/testa-soft-react-0.0.2-dev.7.tgz","_integrity":"sha512-LyyNm6m5Kx55akeOlHP+RKt8nuMhoGnsm8sHZoRMSBKe/ZYDhoAId5Uv+jLVXwQaVLEoBSgYTvtopH1VUgeeRA==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"0.0.2-dev.6","@testa-soft/experiment-core":"0.0.2-dev.6"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.0.2-dev.7_1787156111577_0.5188077974207286","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-dev.8":{"name":"@testa-soft/react","version":"0.0.2-dev.8","license":"UNLICENSED","_id":"@testa-soft/react@0.0.2-dev.8","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"835607f908541935c85c4964d72eb20aa7a29c3f","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-0.0.2-dev.8.tgz","fileCount":8,"integrity":"sha512-2o809lrxrZAG+hGRgsEhQ5q6pqu2mxBvMFAPBu8rU3EKmupvB09eO0RyoDT6zua5q3OVTzUQdQUJ8mzFDupFZA==","signatures":[{"sig":"MEUCIG6UDlTkG7mvmZQgC6TWQ889cb9YX7InUmfJnEYuU86/AiEAkxODRUi/3X6jYcaVJyFH+jrr7YRSYLHdIpX75BZLVIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200233},"main":"./dist/index.cjs","type":"module","_from":"file:testa-soft-react-0.0.2-dev.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/private/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/958545aacb828ce635313233a8b4bf4c/testa-soft-react-0.0.2-dev.8.tgz","_integrity":"sha512-2o809lrxrZAG+hGRgsEhQ5q6pqu2mxBvMFAPBu8rU3EKmupvB09eO0RyoDT6zua5q3OVTzUQdQUJ8mzFDupFZA==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"0.0.2-dev.8","@testa-soft/experiment-core":"0.0.2-dev.8"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.0.2-dev.8_1787176241241_0.9780361624214837","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-dev.9":{"name":"@testa-soft/react","version":"0.0.2-dev.9","license":"UNLICENSED","_id":"@testa-soft/react@0.0.2-dev.9","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"87229de4e183d46ffd029b09b61fd4a0a6151711","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-0.0.2-dev.9.tgz","fileCount":8,"integrity":"sha512-CQIqc+Wrzj9Vgnkc4t56OoJxH8/GMQV4jiqDhf5xQ3tvAE3QWKY4zPInaLfWUJtIVAicKQZMlImruLKUM1Dbsw==","signatures":[{"sig":"MEUCIQDNHuzoVicNxE3U37RXjlO+Zg/ccrbEQe1QNz9o2l/7igIgKcRyxSwxrOLTP+f/3QkIPxvUDuf2OWWr05m3fuh8gWc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204315},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.NPBhCeT2m5/testa-soft-react-0.0.2-dev.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.NPBhCeT2m5/testa-soft-react-0.0.2-dev.9.tgz","_integrity":"sha512-CQIqc+Wrzj9Vgnkc4t56OoJxH8/GMQV4jiqDhf5xQ3tvAE3QWKY4zPInaLfWUJtIVAicKQZMlImruLKUM1Dbsw==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"0.0.2-dev.9","@testa-soft/experiment-core":"0.0.2-dev.9"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.0.2-dev.9_1787178555642_0.07682711768041206","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-dev.10":{"name":"@testa-soft/react","version":"0.0.2-dev.10","license":"UNLICENSED","_id":"@testa-soft/react@0.0.2-dev.10","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"c723d1546c1a09670b0d3a4b8d9f6387600c2cce","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-0.0.2-dev.10.tgz","fileCount":8,"integrity":"sha512-593i6+dlmUYEwnqxZhTZHqf7E33mK7T+x7rrxYzebpd2F8cfHD9tPlcBtdLRylslGp1ML2GO2qwHr7ChuDOhpw==","signatures":[{"sig":"MEYCIQCBmvOqpmXutv0EVy7iNZdx2rMbueZKS9T030/JyZlzsQIhAOdbRZl2CsaahcVyfuCiTy9FkfGY1TALtJ3kghUdrQ8U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214833},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.3ERP8AYePD/testa-soft-react-0.0.2-dev.10.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.3ERP8AYePD/testa-soft-react-0.0.2-dev.10.tgz","_integrity":"sha512-593i6+dlmUYEwnqxZhTZHqf7E33mK7T+x7rrxYzebpd2F8cfHD9tPlcBtdLRylslGp1ML2GO2qwHr7ChuDOhpw==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"0.0.2-dev.10","@testa-soft/experiment-core":"0.0.2-dev.10"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.0.2-dev.10_1787213494777_0.45690292428061974","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-dev.11":{"name":"@testa-soft/react","version":"0.0.2-dev.11","license":"UNLICENSED","_id":"@testa-soft/react@0.0.2-dev.11","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"3a85d61bb570adf0277fa0fa1680bd466ab4b3b4","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-0.0.2-dev.11.tgz","fileCount":8,"integrity":"sha512-8h6fZcoFNoFzTJgAf+pX2ToNgUGFZCIt4fGut8xrlFawVSyBKy6Gm9Dwn1lqBTyk4OIB0StladsN3T/u1YEhiQ==","signatures":[{"sig":"MEUCIC6APv15w+YokDbJoGb1PifmShZStJaP/L+umZARCY/VAiEAs/KnJhQm9/3hN4iRcEnoLTZ/fTIV/sS3Z0LuiO+acJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214833},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.5NWGYOUY7F/testa-soft-react-0.0.2-dev.11.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.5NWGYOUY7F/testa-soft-react-0.0.2-dev.11.tgz","_integrity":"sha512-8h6fZcoFNoFzTJgAf+pX2ToNgUGFZCIt4fGut8xrlFawVSyBKy6Gm9Dwn1lqBTyk4OIB0StladsN3T/u1YEhiQ==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"0.0.2-dev.11","@testa-soft/experiment-core":"0.0.2-dev.11"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.0.2-dev.11_1787218592010_0.9692535452127353","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-dev.12":{"name":"@testa-soft/react","version":"0.0.2-dev.12","license":"UNLICENSED","_id":"@testa-soft/react@0.0.2-dev.12","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"17a9ca9264a96f26834c6eb1e6c60cb2ef252a17","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-0.0.2-dev.12.tgz","fileCount":8,"integrity":"sha512-ZWOv+QmfIuWsTO0/ypdIw86yB1LeI6uOSFeYUnJG816p0WbV/q+XpCAgovckBvaGJZI71KVZI+cv88XeBa9BoA==","signatures":[{"sig":"MEQCIGHpHoUidhMrvqdmF2rvUTm619hFYyKCL990rM/yB6fjAiAUSk1oFtyu2+DyASe2bbDx8/+W97IziagbURGsWr5zBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215595},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.3nHz41uS21/testa-soft-react-0.0.2-dev.12.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.3nHz41uS21/testa-soft-react-0.0.2-dev.12.tgz","_integrity":"sha512-ZWOv+QmfIuWsTO0/ypdIw86yB1LeI6uOSFeYUnJG816p0WbV/q+XpCAgovckBvaGJZI71KVZI+cv88XeBa9BoA==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"0.0.2-dev.12","@testa-soft/experiment-core":"0.0.2-dev.12"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.0.2-dev.12_1787223441371_0.9872747833063971","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-dev.13":{"name":"@testa-soft/react","version":"0.0.2-dev.13","license":"UNLICENSED","_id":"@testa-soft/react@0.0.2-dev.13","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"4ea2345ca1dafb8ff6042fb5cb59d8b6a7f11673","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-0.0.2-dev.13.tgz","fileCount":8,"integrity":"sha512-YiUrujqoXa/cIzNWoikpZN+Sp2vDLxocIJ5sA0MfCcrFe7oPMZVl3X282tiC1TzyL8v5nTvMrVbjPYmgn/Wm3g==","signatures":[{"sig":"MEYCIQDnjVjvtuoZLYrS1OPAIG+dNUnpXq+zzP9ze8TYfCnfQwIhAMdBsnFSrzJiMEvzq4VAR6hFwwcytbajJFDsEk/SwhTh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215577},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.thMNfRHTLR/testa-soft-react-0.0.2-dev.13.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.thMNfRHTLR/testa-soft-react-0.0.2-dev.13.tgz","_integrity":"sha512-YiUrujqoXa/cIzNWoikpZN+Sp2vDLxocIJ5sA0MfCcrFe7oPMZVl3X282tiC1TzyL8v5nTvMrVbjPYmgn/Wm3g==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"0.0.2-dev.13","@testa-soft/experiment-core":"0.0.2-dev.13"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_0.0.2-dev.13_1787225941270_0.5921078676147957","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@testa-soft/react","version":"1.1.0","license":"UNLICENSED","_id":"@testa-soft/react@1.1.0","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"68e9ab23a8a84a116722e29f2798f1495ed51c02","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.1.0.tgz","fileCount":8,"integrity":"sha512-hx2VIuH3bAmMaYOc7o83xKSYxgOnrpJxXhTSsCGLc/RLDvyRZ5c/c4urmVVMKsI72ZAG7ImsDs+yaV507EG6Xg==","signatures":[{"sig":"MEQCIFYJdRTaWRzMIRiQ/iOu4gvgWLnGQPXuH0z+18ezHzAUAiB/uoBOH6m/XXzCOz0qReqXG6Kkp7sGHrToOfcr6XPmSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215556},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.eTKgyY1ljH/testa-soft-react-1.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.eTKgyY1ljH/testa-soft-react-1.1.0.tgz","_integrity":"sha512-hx2VIuH3bAmMaYOc7o83xKSYxgOnrpJxXhTSsCGLc/RLDvyRZ5c/c4urmVVMKsI72ZAG7ImsDs+yaV507EG6Xg==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.1.0","@testa-soft/experiment-core":"1.1.0"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.1.0_1787234738024_0.13023595441648395","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@testa-soft/react","version":"1.2.0","license":"UNLICENSED","_id":"@testa-soft/react@1.2.0","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"b730a8e8cf991cff8f605b22a37742096a92c97e","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.2.0.tgz","fileCount":8,"integrity":"sha512-1o5YN5fEcGMZKd46GNPngUy4euzb7pFoWWR0dnZcIdihEv+T3OdLWbZr25xe5NrxRpw6pYJ0YR5UA1AU8KFPBg==","signatures":[{"sig":"MEYCIQDogAcwZuZii6UjpQRMg8JVyQys2XQ9BxRFPhE/LkSE8AIhAJZ0dhXQIwCKgckf3m9x7bcN+JFvFC/s+6mOybstxhAc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215556},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.jJMP4U4rTY/testa-soft-react-1.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.jJMP4U4rTY/testa-soft-react-1.2.0.tgz","_integrity":"sha512-1o5YN5fEcGMZKd46GNPngUy4euzb7pFoWWR0dnZcIdihEv+T3OdLWbZr25xe5NrxRpw6pYJ0YR5UA1AU8KFPBg==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.2.0","@testa-soft/experiment-core":"1.2.0"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.2.0_1787295631035_0.15889607061872368","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@testa-soft/react","version":"1.2.1","license":"UNLICENSED","_id":"@testa-soft/react@1.2.1","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"2af50c7ae434e1787830f39e01cdae3a7282e10e","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.2.1.tgz","fileCount":8,"integrity":"sha512-/YSWm2CMwTdrrTzkxguWGrMcYvc21z3U59HRmcTwLFU1veJKg2M86mKWFSE9jxgBnph9tM5fqr6y55SshqwGlg==","signatures":[{"sig":"MEUCIHw1T6ifwRtk6tu0oysLGIUXNwHBn//q1tMGDT/ehXgLAiEAxEfZHyllGOUNRCocJuKG0laxIuunT2rA3OCsYKf1u80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215556},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.o8lyMyjDJ2/testa-soft-react-1.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.o8lyMyjDJ2/testa-soft-react-1.2.1.tgz","_integrity":"sha512-/YSWm2CMwTdrrTzkxguWGrMcYvc21z3U59HRmcTwLFU1veJKg2M86mKWFSE9jxgBnph9tM5fqr6y55SshqwGlg==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.2.1","@testa-soft/experiment-core":"1.2.1"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.2.1_1787561926962_0.17486459897407403","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@testa-soft/react","version":"1.3.0","license":"UNLICENSED","_id":"@testa-soft/react@1.3.0","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"a205c27141f648332855d6095c89fd1e0a98b8a4","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.3.0.tgz","fileCount":8,"integrity":"sha512-9vLXv5L4SECaDp1v6ZKropycsuJwgvsI207K/8ErN9EGmWb0QhK00zUmiXJcYxEHxHuOEu2vhNgT+uXv51SDSQ==","signatures":[{"sig":"MEQCIBMACT8DptS5VeOd+L8VsHkGVbRJ63kCpTXOOxei75JrAiAvJci3ttOZ2c7Ca1LIvR1FmJRogEXbrzV2+IcftDGCYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215556},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.KHOcysanUB/testa-soft-react-1.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.KHOcysanUB/testa-soft-react-1.3.0.tgz","_integrity":"sha512-9vLXv5L4SECaDp1v6ZKropycsuJwgvsI207K/8ErN9EGmWb0QhK00zUmiXJcYxEHxHuOEu2vhNgT+uXv51SDSQ==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.3.0","@testa-soft/experiment-core":"1.3.0"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.3.0_1787640328700_0.7149809127392857","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@testa-soft/react","version":"1.3.1","license":"UNLICENSED","_id":"@testa-soft/react@1.3.1","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"bd95f062d7b88a68ebf3bf663bb549f9742047b5","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.3.1.tgz","fileCount":8,"integrity":"sha512-v5lFH9flmK03wx+4E7Wy8rLfQqF0StKEuGeXxJRgdZ5JfFB8m8pIaKFz8MbnCS2d6VSu2Zn+9D8HyBlpfjRkJA==","signatures":[{"sig":"MEUCIAErC4/5aAhA+83tRoB8cPm9RaHjU0kBVefOPMv3uSPJAiEA/oshn6wNeRDGWftFZYKWP1H7vtBil063bcSFEOhyn4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240747},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.AUqd7PDnKR/testa-soft-react-1.3.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.AUqd7PDnKR/testa-soft-react-1.3.1.tgz","_integrity":"sha512-v5lFH9flmK03wx+4E7Wy8rLfQqF0StKEuGeXxJRgdZ5JfFB8m8pIaKFz8MbnCS2d6VSu2Zn+9D8HyBlpfjRkJA==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.3.1","@testa-soft/experiment-core":"1.3.1"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.3.1_1787659034228_0.8666454610472214","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@testa-soft/react","version":"1.3.2","license":"UNLICENSED","_id":"@testa-soft/react@1.3.2","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"da1722ee3f2cd2a794eccd4c9ac78d5144557115","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.3.2.tgz","fileCount":8,"integrity":"sha512-FsUudKZynvZKx7b2ZQc+Gx/h6xyzpxp2mhnw7le9iWluFZTygfJfrLDFQEcLUVG9sSzv0MkF/EyurJBpOxa2mw==","signatures":[{"sig":"MEUCIGkoaVp+z3PUNq3KQI5H/2Yt2C1CbjKjA4YjjWfAilynAiEAlsKnD1ep4yQ4uqAB8Q4YQlv1J/fXJaRW54vPPtHZZR8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240747},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.hisSbzH5DQ/testa-soft-react-1.3.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.hisSbzH5DQ/testa-soft-react-1.3.2.tgz","_integrity":"sha512-FsUudKZynvZKx7b2ZQc+Gx/h6xyzpxp2mhnw7le9iWluFZTygfJfrLDFQEcLUVG9sSzv0MkF/EyurJBpOxa2mw==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.3.2","@testa-soft/experiment-core":"1.3.2"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.3.2_1787660750573_0.45397900684804027","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@testa-soft/react","version":"1.3.3","license":"UNLICENSED","_id":"@testa-soft/react@1.3.3","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"7ea2602fb17ddda3b3c42c98011710eb84e06f66","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.3.3.tgz","fileCount":8,"integrity":"sha512-qYGrcQqoauRTGJen/XQPvUKQDdW3lHpS9V/EuJFgH2+zS55sOzIDHIH7h2QNIrIC1r98s349iFp4Go8uMFvUIQ==","signatures":[{"sig":"MEUCIHXQctc/Mm8EtLg1EV16u6gnaM+cec1vCUYaBGftggAgAiEAlO231k7KYL0s7ieziBD0yYfG61y9Q5B2EbopucRqPDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":248435},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.5wp4NbusZa/testa-soft-react-1.3.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.5wp4NbusZa/testa-soft-react-1.3.3.tgz","_integrity":"sha512-qYGrcQqoauRTGJen/XQPvUKQDdW3lHpS9V/EuJFgH2+zS55sOzIDHIH7h2QNIrIC1r98s349iFp4Go8uMFvUIQ==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.3.3","@testa-soft/experiment-core":"1.3.3"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.3.3_1787668900857_0.6899065470866239","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@testa-soft/react","version":"1.3.4","license":"UNLICENSED","_id":"@testa-soft/react@1.3.4","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"518297ee93328f69c89769a5863ba76db8daeefc","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.3.4.tgz","fileCount":8,"integrity":"sha512-WGUntsW0E0fcNEHe3P5unlKNFQxViaMMwVKCGD1QtnzjC8fsOD2IFT4IgvhLT0cc8snz/ggc4c+CVeuUt9xe8g==","signatures":[{"sig":"MEUCIH6lDNIvefli8jDpmY1whG5FKr34H5wOdr3O57kRzdnsAiEAtM9LYsS+xzSYHjC8i2UzZn6xwTvZ8e59abhI2I76l4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":249378},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.GQNrY9WfKg/testa-soft-react-1.3.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.GQNrY9WfKg/testa-soft-react-1.3.4.tgz","_integrity":"sha512-WGUntsW0E0fcNEHe3P5unlKNFQxViaMMwVKCGD1QtnzjC8fsOD2IFT4IgvhLT0cc8snz/ggc4c+CVeuUt9xe8g==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.3.4","@testa-soft/experiment-core":"1.3.4"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.3.4_1787725197022_0.36650359365719964","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"@testa-soft/react","version":"1.3.5","license":"UNLICENSED","_id":"@testa-soft/react@1.3.5","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"b424c15a707c6f8111629919a5deb14e6056229c","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.3.5.tgz","fileCount":8,"integrity":"sha512-tMWsEvPcLIf6S3z4mriTqQCSiCnHfYv3WrLuKizJ71MlLa4OYJgfCLweOc2HgitqnRY3EiCddEI7WC0hoh09Vg==","signatures":[{"sig":"MEUCIQCa9pULnTl0qH011DZHIV8u3O5glcrCPVNgsd4t2bc1CAIgZccv4ZBYYxklGUszNZ2U9QJNdB3MKpBsICaname9SVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":249378},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.l6RxjMYkCx/testa-soft-react-1.3.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.l6RxjMYkCx/testa-soft-react-1.3.5.tgz","_integrity":"sha512-tMWsEvPcLIf6S3z4mriTqQCSiCnHfYv3WrLuKizJ71MlLa4OYJgfCLweOc2HgitqnRY3EiCddEI7WC0hoh09Vg==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.3.5","@testa-soft/experiment-core":"1.3.5"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.3.5_1787729821161_0.23597134380012297","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"@testa-soft/react","version":"1.3.6","license":"UNLICENSED","_id":"@testa-soft/react@1.3.6","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"5ca9edeb937858fe7e62b26f7bd9d4a5ab4d6648","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.3.6.tgz","fileCount":8,"integrity":"sha512-2s5sbiI7Sr3cP58WoqPWKeBCG0TMBG948tKGRVAbhu9c88KLNB4E9dI/dOode5BnoOLK9UkVa73jTBt3xZQtAQ==","signatures":[{"sig":"MEQCIE18gbsW5LwIr0qOAx7JEvjfbQxk4Xnmgk4wx1G7XvGDAiAdgzXBnGCo8g/StXQZwf8jRVduDuYsQt5bT2v61QSgZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318661},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.mNsWjrLMoA/testa-soft-react-1.3.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.mNsWjrLMoA/testa-soft-react-1.3.6.tgz","_integrity":"sha512-2s5sbiI7Sr3cP58WoqPWKeBCG0TMBG948tKGRVAbhu9c88KLNB4E9dI/dOode5BnoOLK9UkVa73jTBt3xZQtAQ==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.3.6","@testa-soft/experiment-core":"1.3.6"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.3.6_1787900533161_0.7502426125679478","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"@testa-soft/react","version":"1.3.7","license":"UNLICENSED","_id":"@testa-soft/react@1.3.7","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"92227b73cf83c7fa8e91d1d58c312450689fcc8b","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.3.7.tgz","fileCount":8,"integrity":"sha512-nURfwhGX5MnYtk2NJuUDmlWrndDYfVzlsVkx/xVYjRR6LSlkCmShgsendmimawgC7npFroBamQ9j9zMBLPEfHg==","signatures":[{"sig":"MEQCIGxR1Pe1YjhEJfo7DUvPmpk5+0DVytAUOERkvRNsycw1AiAfBAUDnXuXvpRrX0UZGKWBvT6bv1qdJXPbRxX//NCldQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318661},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.rjyUSgbd4A/testa-soft-react-1.3.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.rjyUSgbd4A/testa-soft-react-1.3.7.tgz","_integrity":"sha512-nURfwhGX5MnYtk2NJuUDmlWrndDYfVzlsVkx/xVYjRR6LSlkCmShgsendmimawgC7npFroBamQ9j9zMBLPEfHg==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.3.7","@testa-soft/experiment-core":"1.3.7"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.3.7_1787909966197_0.6886891060092268","host":"s3://npm-registry-packages-npm-production"}},"1.4.0-dev.0":{"name":"@testa-soft/react","version":"1.4.0-dev.0","license":"UNLICENSED","_id":"@testa-soft/react@1.4.0-dev.0","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"a574547116959a563abe6245fb4d2631706d1ede","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.4.0-dev.0.tgz","fileCount":8,"integrity":"sha512-sqCLFbu26ARp5E9WdPqPUgJwoBq0ds07fJ4w5OCm4iAXHHU0W0IZGC6585/vPE/DLa11ReqGgkV3xGzExRGBSg==","signatures":[{"sig":"MEUCIQCMjbWcOlj19R4k7wddegHkfjViKi1aOK6x8voELS9mcgIgBDzIb86MUcRxzNktBFi3A/DBuhfoiG2yDgs700Hn+a4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":321253},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.Qpt036PFcy/testa-soft-react-1.4.0-dev.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.Qpt036PFcy/testa-soft-react-1.4.0-dev.0.tgz","_integrity":"sha512-sqCLFbu26ARp5E9WdPqPUgJwoBq0ds07fJ4w5OCm4iAXHHU0W0IZGC6585/vPE/DLa11ReqGgkV3xGzExRGBSg==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.4.0-dev.0","@testa-soft/experiment-core":"1.4.0-dev.0"},"publishConfig":{"tag":"dev","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.4.0-dev.0_1788208032656_0.06449244516801289","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@testa-soft/react","version":"1.4.0","license":"UNLICENSED","_id":"@testa-soft/react@1.4.0","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"431767d11bcd97aada17e1be54c12c3c06a73351","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.4.0.tgz","fileCount":8,"integrity":"sha512-Yn3FSfwyK2w8t1v3nVmb17XRbNb9m8uCKvV4Ya5dyGXwYOCtC4nbNbh56FHYu9UCvSXq2LQxxU/U2yFIA6KPCA==","signatures":[{"sig":"MEUCIQD8I7+62dUj7M5pMhufrfSlwQxI5TBNbVySqbCv8WjaoQIgIWeckhMMfgIZFo8TFc0LziHokPfFOjy4HE1SNt8/wGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336293},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.LiQ48CZUts/testa-soft-react-1.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.LiQ48CZUts/testa-soft-react-1.4.0.tgz","_integrity":"sha512-Yn3FSfwyK2w8t1v3nVmb17XRbNb9m8uCKvV4Ya5dyGXwYOCtC4nbNbh56FHYu9UCvSXq2LQxxU/U2yFIA6KPCA==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.4.0","@testa-soft/experiment-core":"1.4.0"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.4.0_1788522829188_0.1096334458809185","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"@testa-soft/react","version":"1.3.8","license":"UNLICENSED","_id":"@testa-soft/react@1.3.8","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"dist":{"shasum":"bd0f265f9be72bbc01572d2ac9925549f44a057d","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.3.8.tgz","fileCount":8,"integrity":"sha512-SIIrBgO+eAM2o+x+TTkMEwyMgDKGxJawbQu5gr2i2csE07BegdH6GIlhT5kAAxBEU3P0o1MeQu85z/6PsGSJ4g==","signatures":[{"sig":"MEQCIEOjPJQ1RuhPSxUhTCScFsd9jZtJEQviwEy6s29Uw2gPAiAlhIIwla42fYVeDkurkkmoFmQAgm9+E7SmkGTIqH16Lw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333451},"main":"./dist/index.cjs","type":"module","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.pt8jjtINiC/testa-soft-react-1.3.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsup","clean":"rm -rf dist .turbo coverage *.tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.pt8jjtINiC/testa-soft-react-1.3.8.tgz","_integrity":"sha512-SIIrBgO+eAM2o+x+TTkMEwyMgDKGxJawbQu5gr2i2csE07BegdH6GIlhT5kAAxBEU3P0o1MeQu85z/6PsGSJ4g==","_npmVersion":"11.6.0","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"@testa-soft/dom":"1.3.8","@testa-soft/experiment-core":"1.3.8"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.3.5","react":"18.3.1","vitest":"2.1.5","happy-dom":"15.11.4","typescript":"5.6.3","@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","@testa-platform/shared-types":"0.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/react_1.3.8_1788524553527_0.04314218651632262","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@testa-soft/react","version":"1.5.0","type":"module","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","license":"UNLICENSED","sideEffects":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","peerDependencies":{"react":">=18"},"publishConfig":{"access":"public","tag":"latest"},"dependencies":{"@testa-soft/dom":"1.5.0","@testa-soft/experiment-core":"1.5.0"},"devDependencies":{"@types/react":"18.3.12","@vitest/coverage-v8":"2.1.5","happy-dom":"15.11.4","react":"18.3.1","tsup":"8.3.5","typescript":"5.6.3","vitest":"2.1.5","@testa-platform/shared-types":"0.0.0"},"scripts":{"build":"rm -rf dist && tsup","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest","clean":"rm -rf dist .turbo coverage *.tsbuildinfo"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"_id":"@testa-soft/react@1.5.0","_integrity":"sha512-yTIhfyJne7tvQo9AmBgLMOTo0K9yUuwOv7zUUUe0ejPuAuaYg9m9C34rh1LUCtWxIn4k8+BDDMYRK26fVJm5Bg==","_resolved":"/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.OIyCSKdWdZ/testa-soft-react-1.5.0.tgz","_from":"file:/var/folders/b7/0x0c69z537gg9jjwn5x4f7vm0000gn/T/tmp.OIyCSKdWdZ/testa-soft-react-1.5.0.tgz","_nodeVersion":"24.10.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-yTIhfyJne7tvQo9AmBgLMOTo0K9yUuwOv7zUUUe0ejPuAuaYg9m9C34rh1LUCtWxIn4k8+BDDMYRK26fVJm5Bg==","shasum":"4227dfd66e04cece1a27179292ab1a605374fc84","tarball":"https://registry.npmjs.org/@testa-soft/react/-/react-1.5.0.tgz","fileCount":8,"unpackedSize":336293,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD3Dqv3qh4B1M5ewTtsDoYcI8qghqE3mPR5LvN+iggB5AIhAJ+TK9rzcwywFHecuP/ICYvjx2WAFjEwEv2WfIhIuJUR"}]},"_npmUser":{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"},"directories":{},"maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react_1.5.0_1789045145630_0.6422668265042211"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-18T04:58:44.151Z","modified":"2026-09-10T12:59:05.921Z","0.0.2-dev.0":"2026-08-18T04:58:44.528Z","0.0.2-dev.3":"2026-08-18T11:05:33.196Z","0.0.2-dev.4":"2026-08-19T14:16:28.121Z","0.0.2-dev.6":"2026-08-19T15:10:43.917Z","0.0.2-dev.7":"2026-08-19T16:15:11.715Z","0.0.2-dev.8":"2026-08-19T21:50:41.380Z","0.0.2-dev.9":"2026-08-19T22:29:15.792Z","0.0.2-dev.10":"2026-08-20T08:11:34.917Z","0.0.2-dev.11":"2026-08-20T09:36:32.141Z","0.0.2-dev.12":"2026-08-20T10:57:21.509Z","0.0.2-dev.13":"2026-08-20T11:39:01.425Z","1.1.0":"2026-08-20T14:05:38.182Z","1.2.0":"2026-08-21T07:00:31.212Z","1.2.1":"2026-08-24T08:58:47.097Z","1.3.0":"2026-08-25T06:45:28.843Z","1.3.1":"2026-08-25T11:57:14.369Z","1.3.2":"2026-08-25T12:25:50.723Z","1.3.3":"2026-08-25T14:41:41.104Z","1.3.4":"2026-08-26T06:19:57.166Z","1.3.5":"2026-08-26T07:37:01.293Z","1.3.6":"2026-08-28T07:02:13.327Z","1.3.7":"2026-08-28T09:39:26.364Z","1.4.0-dev.0":"2026-08-31T20:27:12.785Z","1.4.0":"2026-09-04T11:53:49.340Z","1.3.8":"2026-09-04T12:22:33.687Z","1.5.0":"2026-09-10T12:59:05.774Z"},"license":"UNLICENSED","description":"Testa client-side A/B testing for React + Vite SPAs (single-page apps with no server).","maintainers":[{"name":"mbagdonas","email":"mantas.bagdonas@testa-soft.com"}],"readme":"# @testa-soft/react\n\nClient-side [Testa](https://testa-soft.tech) A/B testing for **React + Vite SPAs** — any single-page app that has **no server**. One `<TestaProvider>` at your app root runs the whole experiment engine in the browser: deterministic, sticky assignment; client-side split-URL redirects; cookie-first HTML/DOM changes; exposure tracking; preview mode; and automatic re-runs on SPA route changes. For experiments your app renders itself, `useTestaVariant` gives you a robust, code-based branch that survives React reconciliation.\n\nIt shares the exact decision core (`@testa-soft/experiment-core`) and render layer (`@testa-soft/dom`) as the Next.js package, so a visitor buckets into the same variation no matter which surface they hit.\n\n## Install\n\n```bash\nnpm install @testa-soft/react\n```\n\nPeer dependency (you already have it):\n\n- `react` — `>=18`\n\n## Quick start\n\nWrap your app once. With just `projectId`, the package fetches your project config from the built-in config host (`https://config.testa-soft.tech/api/v1/config/{projectId}`):\n\n```tsx\n// main.tsx\nimport { createRoot } from 'react-dom/client'\nimport { TestaProvider } from '@testa-soft/react'\nimport App from './App'\n\ncreateRoot(document.getElementById('root')!).render(\n  <TestaProvider projectId=\"acme\">\n    <App />\n  </TestaProvider>,\n)\n```\n\nThat is the whole integration. The config fetch starts during the provider's **first render** (before paint, deduped across StrictMode double-mounts), and on mount (plus every SPA navigation) the provider assigns the visitor, performs any split-URL redirect, and applies HTML/DOM changes — behind a built-in **smart anti-flicker overlay** (see below).\n\n### Inline-config mode\n\nIf you'd rather ship the config with your build (zero-latency, no network — handy for static or edge deploys), pass a `config` object instead of `projectId`:\n\n```tsx\nimport { TestaProvider } from '@testa-soft/react'\nimport projectConfig from './testa.config.json'\n\n<TestaProvider config={projectConfig}>\n  <App />\n</TestaProvider>\n```\n\nYou can also point at a custom host with `host=\"https://config.staging.example.com\"`. A failed config fetch fails open — no experiments run and your app renders untouched.\n\n## `useTestaVariant` — robust code-based experiments (recommended)\n\nDOM-mutation experiments fight React: a re-render can wipe an applied change. For anything **your app renders**, read the assigned variation and branch in JSX instead. This is the most reliable path in a React SPA because React owns the output:\n\n```tsx\nimport { useTestaVariant } from '@testa-soft/react'\n\nfunction PricingCta() {\n  const { variationId, isControl } = useTestaVariant(101)\n\n  if (isControl || variationId === null) {\n    return <button>Start free trial</button>\n  }\n  return <button>Get started — 50% off today</button>\n}\n```\n\n`useTestaVariant(experimentId)` returns `{ variationId, isControl }`, read cookie-first from the sticky `_testa_exp` assignment surfaced by `<TestaProvider>`. `variationId` is `null` when the visitor isn't assigned (not enrolled, excluded, or off the experiment's page). `isControl` is `true` when the assigned variation is the experiment's control (its lowest variation id).\n\n## HTML/DOM experiments (no code changes)\n\nFor \"same URL, different content\" tests authored in the Testa editor, the provider applies **crobot-native DOM changes** on the client, cookie-first — no re-bucketing. Nothing extra to wire up beyond `<TestaProvider>`.\n\nBecause these mutate content the browser already painted, there can be a brief control→variant flash. The provider handles this **automatically** with a smart anti-flicker overlay (`shield` prop, default on):\n\n- **Initial load:** the overlay is raised before first paint (a pre-paint layout effect) while the config loads, and revealed the moment the assigned variant is applied — or immediately when nothing applies. A 4s hard timeout guarantees a slow or broken apply never leaves the page blank (fail open).\n- **Smart skip:** after the first config load the provider persists a hint (`localStorage['__testa_shield_hint']`) recording whether the project has any active experiments with changes. Projects with nothing to apply **stop shielding entirely** on subsequent visits — no needless blank frame.\n- **Redirects:** the overlay stays up while a client-side split-URL redirect navigates away, so the control page never flashes.\n- **Soft navigations:** never re-shielded — re-apply is near-instant.\n\nPass `shield={false}` to manage flicker yourself, or `shield={{ selector, timeoutMs, mode, styleId }}` to customize. For the absolute earliest coverage (before your JS bundle even loads — e.g. slow networks), you can still inline `buildShieldSnippet()` from `@testa-soft/dom` in `index.html`'s `<head>`; the provider detects it (same style id) and won't double-shield.\n\nSupported change types are crobot-native and applied by the shared DOM engine: `change_html`, `css`, `hide_element`, `append_html`, `prepend_html`, `move_element_append`, `move_element_prepend`.\n\n## Split-URL redirects happen client-side\n\nSplit-URL tests send a bucketed visitor to a different URL. With no server to issue a `307`, the provider performs the redirect **client-side** via `window.location.replace(destination)` as early as it can on load. It's loop-guarded by a per-experiment `_testa_redirected_<id>` cookie so a visitor is never bounced back and forth. Because there's no edge, expect a brief navigation rather than the flicker-free server redirect the Next.js package gives you — the provider's built-in shield keeps the source page hidden while the redirect navigates away.\n\n## Analytics events\n\nThe SDK emits two client-side events. Subscribe with named functions — **multiple handlers are allowed**, and each call returns an unsubscribe function:\n\n- **`variation_applied`** — the visitor was **shown** a variation: on the page for DOM/copy tests, after the navigation for split-URL. Fires **once per page load** per `(experiment, variation)`.\n- **`variation_assigned`** — the visitor was **bucketed**, fired at decision time, *before* any split-URL redirect leaves the page. This is the only event a redirected visitor can be counted by, since they never reach the apply step.\n\nSubscribe from a component, in an effect. `onVariationApplied` returns its own\nunsubscribe, so returning it from the effect is the whole cleanup — without it,\nFast Refresh and StrictMode's double mount stack duplicate handlers.\n\n```tsx\nimport { onVariationApplied } from '@testa-soft/react'\nimport { useEffect } from 'react'\n\nexport function TestaAnalytics(): null {\n  // `track` is whatever you already use — an analytics SDK, or your own fetch.\n  useEffect(() => onVariationApplied((d) => track('Experiment Viewed', d)), [])\n  return null\n}\n```\n\nRender it once inside `<TestaProvider>`. Module-scope\n`testa.onVariationApplied(...)` also works and is the right shape outside a React\ntree, but nothing unsubscribes it.\n\nThe payload (crobot 3.3.3 `leadData`), identical for both events:\n\n```ts\n{\n  project_id: 123,                     // crobot project id\n  experiment: 456,                     // experiment IDENTIFIER (0-based), not the DB pk\n  variation: 1,                        // variation IDENTIFIER (0 = control)\n  uuid: \"0198f2c1-4b7a-7f3e-9d21-...\", // visitor id\n  title: \"Homepage Hero Test\",         // experiment title — omitted when unset\n  url: \"https://example.com/pricing\",  // the URL the variation was applied on\n}\n```\n\n**History replay.** A handler registered **after** the event already fired still receives it — late-loading analytics never miss an exposure. Each handler also sees each unique `(experiment, variation)` event at most once, so a re-render or a soft-nav re-apply won't double-count.\n\n**A throwing handler can't break the SDK** (or the other handlers) — the bus isolates each delivery.\n\n**GTM Custom HTML / non-bundled scripts.** The same API is installed on `window.testa`, so you can subscribe without importing the package:\n\n```html\n<script>\n  window.testa.onVariationApplied(function (d) {\n    // push to your own analytics\n  })\n</script>\n```\n\n**GTM `dataLayer`** — pushed automatically on every `variation_applied`, no configuration:\n\n```js\n{ event: 'Analytica', ExperimentId, ExperimentName, VariationId, VariationName }\n```\n\nAdd a GTM **Custom Event** trigger on `Analytica`. `VariationName` is `Control` for variation `0`, otherwise the configured name or `Variation<id>`.\n\n## Preview mode\n\nEditors can preview **unpublished** variation drafts live. Pass `previewApiUrl` (your Testa/crobot backend base URL):\n\n```tsx\n<TestaProvider projectId=\"acme\" previewApiUrl=\"https://new.testa-soft.tech\">\n  <App />\n</TestaProvider>\n```\n\nThen open any page with the preview query params:\n\n```\nhttps://yoursite.com/pricing?testa_preview=true&testa_preview_token=<token>\n```\n\nIn preview mode the provider **skips normal assignment** and instead fetches the draft changes for that session from `{previewApiUrl}/api/preview/{token}` and applies them, so a draft renders exactly as it will ship. A failed or malformed response applies nothing (fail-safe).\n\n## SPA navigation\n\nThe provider installs a framework-agnostic navigation detector — it patches `history.pushState`/`replaceState` and listens to `popstate` — so the engine re-runs on every soft navigation. It works with React Router, TanStack Router, Wouter, or hand-rolled `history` navigation, disposing the previous route's DOM changes before applying the next.\n\n## `<TestaProvider>` props\n\n| Prop            | Type            | Default                          | Description                                                                    |\n| --------------- | --------------- | -------------------------------- | ------------------------------------------------------------------------------ |\n| `projectId`     | `string`        | —                                | Project id. Config is fetched from `{host}/api/v1/config/{projectId}`.         |\n| `config`        | `ProjectConfig` | —                                | Inline config. Zero-latency, no fetch. Wins over `projectId`.                  |\n| `host`          | `string`        | `https://config.testa-soft.tech` | Config host. Override for local/staging.                                       |\n| `previewApiUrl` | `string`        | —                                | Backend base URL for preview mode (`?testa_preview`).                          |\n| `tracking`      | `boolean`       | `true`                           | Emit exposures on fresh enrollment so results populate.                        |\n| `trackingHost`  | `string`        | `https://new.testa-soft.tech`    | Host for exposure tracking (`/api/leads`).                                     |\n| `secureCookies` | `boolean`       | `true`                           | Emit `Secure` cookies. Set `false` for local http dev.                         |\n| `cookieDomain`  | `string`        | —                                | Cookie `Domain` for cross-subdomain sharing (e.g. `.acme.com`).                |\n| `shield`        | `boolean \\| ShieldOptions` | `true`                | Smart anti-flicker overlay on initial load. `false` to disable; options object to customize selector/timeout/mode. |\n\n## How it works\n\n- **Deterministic, sticky assignment.** The provider buckets each visitor with `xxhash32(visitorId:experimentId) mod 100` and writes the sticky `_testa_exp` cookie. A returning visitor is never re-rolled, and `useTestaVariant`, DOM apply, and redirects all read that one cookie.\n- **Client-side redirects, loop-guarded.** Split-URL tests `location.replace` to the variant, guarded by `_testa_redirected_<id>` so there's no bounce loop.\n- **DOM changes behind a smart shield.** HTML/DOM variants apply cookie-first after mount and re-apply on soft navigation; the provider's built-in overlay prevents the control→variant flash and skips itself when the project has nothing to apply.\n- **Exposures feed results.** One exposure per fresh enrollment is POSTed to the tracking host (deduped server-side).\n","readmeFilename":"README.md"}