{"_id":"nivo-biaxial-chart","_rev":"8-c9574487af2508440c793fb441c4d0bb","name":"nivo-biaxial-chart","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.0":{"name":"nivo-biaxial-chart","version":"0.1.0","keywords":["nivo","chart","line-chart","biaxial","react","d3"],"author":{"name":"Isla Niclole May"},"license":"MIT","_id":"nivo-biaxial-chart@0.1.0","maintainers":[{"name":"islamay","email":"isla.nichola.may@gmail.com"}],"homepage":"https://github.com/isla-may/nivo-biaxial-chart#readme","bugs":{"url":"https://github.com/isla-may/nivo-biaxial-chart/issues"},"dist":{"shasum":"15f4f99f1aff02663a7328987077067ae93e2a1a","tarball":"https://registry.npmjs.org/nivo-biaxial-chart/-/nivo-biaxial-chart-0.1.0.tgz","fileCount":9,"integrity":"sha512-DOxpmZmuoCgvbpjneFo0h8B7f4eGIUjlT4UeSdfEAMMqSeJjNNLDiKXpZrvMeh2nxBAzGZUW+mVjROcJtDERUA==","signatures":[{"sig":"MEYCIQD9P/hoLG7G1j5RKlCl5r/9uIJeQKYiz/pMkAYT8hMlBwIhAMYefcsDfP3dER3oQeltBi+yRSS9ZaVp/fvHfCSRPjIQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":492551},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"9c2f6634af57a19bea031adab0b648bbd3b21f37","scripts":{"dev":"tsup --watch","tsc":"tsc --noEmit","lint":"eslint .","build":"tsup","lint:fix":"eslint . --fix","prepublishOnly":"npm run build"},"_npmUser":{"name":"islamay","email":"isla.nichola.may@gmail.com"},"repository":{"url":"git+https://github.com/isla-may/nivo-biaxial-chart.git","type":"git"},"_npmVersion":"10.9.3","description":"A biaxial line chart built on top of @nivo/line primitives","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"lodash":"^4.17.21","d3-shape":"^3.2.0","d3-format":"^3.1.2","@nivo/axes":"0.87.0","@nivo/core":"0.87.0","@nivo/colors":"0.87.0","@nivo/scales":"0.87.0","@nivo/legends":"0.87.0","@nivo/tooltip":"0.87.0","@nivo/voronoi":"0.87.0","d3-time-format":"^4.1.0","@react-spring/web":"^9.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^18.3.1","eslint":"^9.15.0","react-dom":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.12","@types/lodash":"^4.17.13","@types/d3-shape":"^3.1.7","@types/d3-format":"^3.0.4","@types/react-dom":"^18.3.1","@types/d3-time-format":"^4.0.3"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nivo-biaxial-chart_0.1.0_1785386545088_0.7916044096775998","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"nivo-biaxial-chart","version":"0.1.1","keywords":["nivo","chart","line-chart","biaxial","react","d3"],"author":{"name":"Isla Niclole May"},"license":"MIT","_id":"nivo-biaxial-chart@0.1.1","maintainers":[{"name":"islamay","email":"isla.nichola.may@gmail.com"}],"homepage":"https://github.com/isla-may/nivo-biaxial-chart#readme","bugs":{"url":"https://github.com/isla-may/nivo-biaxial-chart/issues"},"dist":{"shasum":"163108a2652abed0cd0d3fd3d0c223f2cadd7124","tarball":"https://registry.npmjs.org/nivo-biaxial-chart/-/nivo-biaxial-chart-0.1.1.tgz","fileCount":9,"integrity":"sha512-UADXSu0hNeEeMHr2zYl6hvOBa4tiNJUEIw3d/Ojtxa7gSYeq+RqYBZERlJUus45qh/nC95xGJiGPsjOGPJ42Ig==","signatures":[{"sig":"MEYCIQD0RJ4BXYuZnByPwEk5yUaynFdnNj0U5/yrF/E0UZqOWQIhANPUiE+ptqN/XGVjDbOVkmj/21H8/9jiZ9uH9Yaa7OZa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":496721},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"4f066ae46d6f98304cbef4dcfedcaef91a17e08f","scripts":{"dev":"tsup --watch","tsc":"tsc --noEmit","lint":"eslint .","build":"tsup","lint:fix":"eslint . --fix","prepublishOnly":"npm run build"},"_npmUser":{"name":"islamay","email":"isla.nichola.may@gmail.com"},"repository":{"url":"git+https://github.com/isla-may/nivo-biaxial-chart.git","type":"git"},"_npmVersion":"10.9.3","description":"A biaxial line chart built on top of @nivo/line primitives","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"lodash":"^4.17.21","d3-shape":"^3.2.0","d3-format":"^3.1.2","@nivo/axes":"0.87.0","@nivo/core":"0.87.0","@nivo/colors":"0.87.0","@nivo/scales":"0.87.0","@nivo/legends":"0.87.0","@nivo/tooltip":"0.87.0","@nivo/voronoi":"0.87.0","d3-time-format":"^4.1.0","@react-spring/web":"^9.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^18.3.1","eslint":"^9.15.0","react-dom":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.12","@types/lodash":"^4.17.13","@types/d3-shape":"^3.1.7","@types/d3-format":"^3.0.4","@types/react-dom":"^18.3.1","@types/d3-time-format":"^4.0.3"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nivo-biaxial-chart_0.1.1_1785389743600_0.025857691031085706","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"nivo-biaxial-chart","version":"0.1.2","keywords":["nivo","chart","line-chart","biaxial","react","d3"],"author":{"name":"Isla Niclole May"},"license":"MIT","_id":"nivo-biaxial-chart@0.1.2","maintainers":[{"name":"islamay","email":"isla.nichola.may@gmail.com"}],"homepage":"https://github.com/isla-may/nivo-biaxial-chart#readme","bugs":{"url":"https://github.com/isla-may/nivo-biaxial-chart/issues"},"dist":{"shasum":"6e3423d1436c14153ad79caaae1d159085a479ce","tarball":"https://registry.npmjs.org/nivo-biaxial-chart/-/nivo-biaxial-chart-0.1.2.tgz","fileCount":9,"integrity":"sha512-7qHlN2UzEv0RrEZMLzjMIKt7KQW21Fc93K5/NxwjRZKm4dnqMPeHDguGBe8nh/r3ZxS5nIULGUSKgJINZBqciQ==","signatures":[{"sig":"MEUCIC7nSmb4Dwxai1dBvJ47rZe/oqpH01cS7kTUe0H6mo3tAiEAyp00bc/vPAP44yJQERxWWGCRbcnymixWq1h47YGpOFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":512312},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"07b8d011df04a500d6d44dfc07d445e2459a4321","scripts":{"dev":"tsup --watch","tsc":"tsc --noEmit","lint":"eslint .","build":"tsup","example":"vite","lint:fix":"eslint . --fix","prepublishOnly":"npm run build"},"_npmUser":{"name":"islamay","email":"isla.nichola.may@gmail.com"},"repository":{"url":"git+https://github.com/isla-may/nivo-biaxial-chart.git","type":"git"},"_npmVersion":"10.9.3","description":"A biaxial line chart built on top of @nivo/line primitives","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"lodash":"^4.17.21","d3-shape":"^3.2.0","d3-format":"^3.1.2","@nivo/axes":"0.87.0","@nivo/core":"0.87.0","@nivo/colors":"0.87.0","@nivo/scales":"0.87.0","@nivo/legends":"0.87.0","@nivo/tooltip":"0.87.0","@nivo/voronoi":"0.87.0","d3-time-format":"^4.1.0","@react-spring/web":"^9.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^6.0.3","react":"^18.3.1","eslint":"^9.15.0","react-dom":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.12","@types/lodash":"^4.17.13","@types/d3-shape":"^3.1.7","@types/d3-format":"^3.0.4","@types/react-dom":"^18.3.1","@vitejs/plugin-react":"^4.3.4","@types/d3-time-format":"^4.0.3"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nivo-biaxial-chart_0.1.2_1785394600652_0.2090482833374363","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"nivo-biaxial-chart","version":"0.1.3","keywords":["nivo","chart","line-chart","biaxial","react","d3"],"author":{"name":"Isla Niclole May"},"license":"MIT","_id":"nivo-biaxial-chart@0.1.3","maintainers":[{"name":"islamay","email":"isla.nichola.may@gmail.com"}],"homepage":"https://github.com/isla-may/nivo-biaxial-chart#readme","bugs":{"url":"https://github.com/isla-may/nivo-biaxial-chart/issues"},"dist":{"shasum":"c264023aa4f978ad2b6580ebe98014c46929810c","tarball":"https://registry.npmjs.org/nivo-biaxial-chart/-/nivo-biaxial-chart-0.1.3.tgz","fileCount":9,"integrity":"sha512-xwOPJWy7JJiDa8/IkzuuKkvBRMvGdhZep1UwVomqc1CkjE7vFhx0rX37YF3I4eM7UXG3JIP7M9jW1OzERJcn7Q==","signatures":[{"sig":"MEYCIQDMqs6OpAmUHZ81ukeOvd5M2bhUmF+vylXSM4P08DrRPAIhAM5rQ73+xrxFbZBgSe0f73+XhJxi8x2PxNXsqidMRF3/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":512312},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"07b8d011df04a500d6d44dfc07d445e2459a4321","scripts":{"dev":"tsup --watch","tsc":"tsc --noEmit","lint":"eslint .","build":"tsup","example":"vite","lint:fix":"eslint . --fix","prepublishOnly":"npm run build"},"_npmUser":{"name":"islamay","email":"isla.nichola.may@gmail.com"},"repository":{"url":"git+https://github.com/isla-may/nivo-biaxial-chart.git","type":"git"},"_npmVersion":"10.9.3","description":"A biaxial line chart built on top of @nivo/line primitives","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"lodash":"^4.17.21","d3-shape":"^3.2.0","d3-format":"^3.1.2","@nivo/axes":"0.87.0","@nivo/core":"0.87.0","@nivo/colors":"0.87.0","@nivo/scales":"0.87.0","@nivo/legends":"0.87.0","@nivo/tooltip":"0.87.0","@nivo/voronoi":"0.87.0","d3-time-format":"^4.1.0","@react-spring/web":"^9.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^6.0.3","react":"^18.3.1","eslint":"^9.15.0","react-dom":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.12","@types/lodash":"^4.17.13","@types/d3-shape":"^3.1.7","@types/d3-format":"^3.0.4","@types/react-dom":"^18.3.1","@vitejs/plugin-react":"^4.3.4","@types/d3-time-format":"^4.0.3"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nivo-biaxial-chart_0.1.3_1785411400028_0.38547696944434584","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"nivo-biaxial-chart","version":"0.1.4","keywords":["nivo","chart","line-chart","biaxial","react","d3"],"author":{"name":"Isla Niclole May"},"license":"MIT","_id":"nivo-biaxial-chart@0.1.4","maintainers":[{"name":"islamay","email":"isla.nichola.may@gmail.com"}],"homepage":"https://github.com/isla-may/nivo-biaxial-chart#readme","bugs":{"url":"https://github.com/isla-may/nivo-biaxial-chart/issues"},"dist":{"shasum":"758a0be42b9307d4e6ec011d8fee23a91c073281","tarball":"https://registry.npmjs.org/nivo-biaxial-chart/-/nivo-biaxial-chart-0.1.4.tgz","fileCount":9,"integrity":"sha512-4feevCH5pFBO1Aef+zph8DsGznIQP1F3KQDM5Zzg/uQXZ+3qtw09t8qHtL8T57YtTotioIfo+OCmNWKoeutCVQ==","signatures":[{"sig":"MEUCIEPaRYCZ0VrNSAP5sXFsXeKK1PmWrt2Cu0AtAR+wx65UAiEAuui09183gwgY9QDQH8wcc/v2dOPSD0yeGCYqrlpxcCM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":572469},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"07b8d011df04a500d6d44dfc07d445e2459a4321","scripts":{"dev":"tsup --watch","tsc":"tsc --noEmit","lint":"eslint .","build":"tsup","example":"vite","lint:fix":"eslint . --fix","prepublishOnly":"npm run build"},"_npmUser":{"name":"islamay","email":"isla.nichola.may@gmail.com"},"repository":{"url":"git+https://github.com/isla-may/nivo-biaxial-chart.git","type":"git"},"_npmVersion":"10.9.3","description":"A biaxial line chart built on top of @nivo/line primitives","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"lodash":"^4.17.21","d3-shape":"^3.2.0","d3-format":"^3.1.2","@nivo/axes":"0.87.0","@nivo/core":"0.87.0","@nivo/colors":"0.87.0","@nivo/scales":"0.87.0","@nivo/legends":"0.87.0","@nivo/tooltip":"0.87.0","@nivo/voronoi":"0.87.0","d3-time-format":"^4.1.0","@react-spring/web":"^9.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^6.0.3","react":"^18.3.1","eslint":"^9.15.0","react-dom":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.12","@types/lodash":"^4.17.13","@types/d3-shape":"^3.1.7","@types/d3-format":"^3.0.4","@types/react-dom":"^18.3.1","@vitejs/plugin-react":"^4.3.4","@types/d3-time-format":"^4.0.3"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nivo-biaxial-chart_0.1.4_1785922208585_0.038264678421179754","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"nivo-biaxial-chart","version":"0.1.5","keywords":["nivo","chart","line-chart","biaxial","react","d3"],"author":{"name":"Isla Niclole May"},"license":"MIT","_id":"nivo-biaxial-chart@0.1.5","maintainers":[{"name":"islamay","email":"isla.nichola.may@gmail.com"}],"homepage":"https://github.com/isla-may/nivo-biaxial-chart#readme","bugs":{"url":"https://github.com/isla-may/nivo-biaxial-chart/issues"},"dist":{"shasum":"f16b17a211f7b66675aa7e097976f580324308c1","tarball":"https://registry.npmjs.org/nivo-biaxial-chart/-/nivo-biaxial-chart-0.1.5.tgz","fileCount":9,"integrity":"sha512-AKD5BLiEJuoY8HnyOi5A4raOVzydwJ9JtB66pXR/P/ypaSEcRN0MMi6g3CgPqy766eA5pOGzO5g4XZBA0w8GgQ==","signatures":[{"sig":"MEYCIQDnhSz0vSpv8i/9AQdoBq4Xb9Tdst+AaKgvZZQXh5rLegIhANt77eSzMX1joPLiJPWGOhBqw0F/31zgNSNem1o+oPry","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":581415},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"25e7b34c4e85377deb77738704d1a4ba71e64e3d","scripts":{"dev":"tsup --watch","tsc":"tsc --noEmit","lint":"eslint .","build":"tsup","example":"vite","lint:fix":"eslint . --fix","prepublishOnly":"npm run build"},"_npmUser":{"name":"islamay","email":"isla.nichola.may@gmail.com"},"repository":{"url":"git+https://github.com/isla-may/nivo-biaxial-chart.git","type":"git"},"_npmVersion":"10.9.3","description":"A biaxial line chart built on top of @nivo/line primitives","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"lodash":"^4.17.21","d3-shape":"^3.2.0","d3-format":"^3.1.2","@nivo/axes":"0.87.0","@nivo/core":"0.87.0","@nivo/colors":"0.87.0","@nivo/scales":"0.87.0","@nivo/legends":"0.87.0","@nivo/tooltip":"0.87.0","@nivo/voronoi":"0.87.0","d3-time-format":"^4.1.0","@react-spring/web":"^9.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^6.0.3","react":"^18.3.1","eslint":"^9.15.0","react-dom":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.12","@types/lodash":"^4.17.13","@types/d3-shape":"^3.1.7","@types/d3-format":"^3.0.4","@types/react-dom":"^18.3.1","@vitejs/plugin-react":"^4.3.4","@types/d3-time-format":"^4.0.3"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nivo-biaxial-chart_0.1.5_1785924271583_0.07588876159213442","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"nivo-biaxial-chart","version":"0.1.6","keywords":["nivo","chart","line-chart","biaxial","react","d3"],"author":{"name":"Isla Niclole May"},"license":"MIT","_id":"nivo-biaxial-chart@0.1.6","maintainers":[{"name":"islamay","email":"isla.nichola.may@gmail.com"}],"homepage":"https://github.com/isla-may/nivo-biaxial-chart#readme","bugs":{"url":"https://github.com/isla-may/nivo-biaxial-chart/issues"},"dist":{"shasum":"26249d113f6278d1ba187e91061851a304af06c3","tarball":"https://registry.npmjs.org/nivo-biaxial-chart/-/nivo-biaxial-chart-0.1.6.tgz","fileCount":9,"integrity":"sha512-N0njNE/qcRvNwlA6IUlT3fdqLzPg1zQsbwSNVN6t/wvPWIuLsGzbIBkNte9FX7vUw9AN9R9UD6aRF6bvXl8QWw==","signatures":[{"sig":"MEYCIQCfKa+0dSyPZKkeE5shVCB5SK9iIv7q97wfrdcd2wEpRQIhAI8rn+0cG2QFGyWc7XIMffLc6Bor6M5tAcLOnd0wvUSw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":584127},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"0f79a10b588f183991bc0c5f077845a76bd69820","scripts":{"dev":"tsup --watch","tsc":"tsc --noEmit","lint":"eslint .","build":"tsup","example":"vite","lint:fix":"eslint . --fix","prepublishOnly":"npm run build"},"_npmUser":{"name":"islamay","email":"isla.nichola.may@gmail.com"},"repository":{"url":"git+https://github.com/isla-may/nivo-biaxial-chart.git","type":"git"},"_npmVersion":"10.9.3","description":"A biaxial line chart built on top of @nivo/line primitives","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"lodash":"^4.17.21","d3-shape":"^3.2.0","d3-format":"^3.1.2","@nivo/axes":"0.87.0","@nivo/core":"0.87.0","@nivo/colors":"0.87.0","@nivo/scales":"0.87.0","@nivo/legends":"0.87.0","@nivo/tooltip":"0.87.0","@nivo/voronoi":"0.87.0","d3-time-format":"^4.1.0","@react-spring/web":"^9.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^6.0.3","react":"^18.3.1","eslint":"^9.15.0","react-dom":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.12","@types/lodash":"^4.17.13","@types/d3-shape":"^3.1.7","@types/d3-format":"^3.0.4","@types/react-dom":"^18.3.1","@vitejs/plugin-react":"^4.3.4","@types/d3-time-format":"^4.0.3"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nivo-biaxial-chart_0.1.6_1785924880049_0.8489196737993454","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"_id":"nivo-biaxial-chart@0.1.7","bugs":{"url":"https://github.com/isla-may/nivo-biaxial-chart/issues"},"dist":{"shasum":"95216b116709aca18d14d309fed8cf1f2a11ffbf","tarball":"https://registry.npmjs.org/nivo-biaxial-chart/-/nivo-biaxial-chart-0.1.7.tgz","fileCount":9,"integrity":"sha512-FVqvGSroxHMmMJe089JHj4KSMw62yP0K0dJhQhftVpTO9qrkQgW4LuHMV1maPGcP80SCTwr1wvxFP8LsFeNMHg==","signatures":[{"sig":"MEUCIQDW28OK+0Zgu79tJY88rvII6r66CpJxyiDk9mm6cdpQwAIgS4Qf/+nlYRV0D1/N+W46BbodH5Od3pKOszSyc9d3kqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC+ukcF2CDKNdBzacMGn67O38yVXhWUOfZe7FcgXMfdBQIgEim0euqoir3cjPP4sBS7DFj6pms99PKEhXqLqWPIuHE="}],"unpackedSize":604929},"main":"./dist/index.cjs","name":"nivo-biaxial-chart","type":"module","types":"./dist/index.d.ts","author":{"name":"Isla Niclole May"},"module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"8589b80e33c6b5bd7cbbf12392e68f0e9c706801","license":"MIT","scripts":{"dev":"tsup --watch","tsc":"tsc --noEmit","lint":"eslint .","build":"tsup","example":"vite","lint:fix":"eslint . --fix","prepublishOnly":"npm run build"},"version":"0.1.7","_npmUser":{"name":"islamay","email":"isla.nichola.may@gmail.com"},"homepage":"https://github.com/isla-may/nivo-biaxial-chart#readme","keywords":["nivo","chart","line-chart","biaxial","react","d3"],"repository":{"url":"git+https://github.com/isla-may/nivo-biaxial-chart.git","type":"git"},"_npmVersion":"10.9.3","description":"A biaxial line chart built on top of @nivo/line primitives","directories":{},"maintainers":[{"name":"islamay","email":"isla.nichola.may@gmail.com"}],"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"lodash":"^4.17.21","d3-shape":"^3.2.0","d3-format":"^3.1.2","@nivo/axes":"0.87.0","@nivo/core":"0.87.0","@nivo/colors":"0.87.0","@nivo/scales":"0.87.0","@nivo/legends":"0.87.0","@nivo/tooltip":"0.87.0","@nivo/voronoi":"0.87.0","d3-time-format":"^4.1.0","@react-spring/web":"^9.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^6.0.3","react":"^18.3.1","eslint":"^9.15.0","react-dom":"^18.3.1","typescript":"^5.7.2","@types/react":"^18.3.12","@types/lodash":"^4.17.13","@types/d3-shape":"^3.1.7","@types/d3-format":"^3.0.4","@types/react-dom":"^18.3.1","@vitejs/plugin-react":"^4.3.4","@types/d3-time-format":"^4.0.3"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nivo-biaxial-chart_0.1.7_1790175320652_0.5342256646903476"}}},"time":{"created":"2026-07-30T04:42:24.942Z","modified":"2026-09-23T14:55:20.962Z","0.1.0":"2026-07-30T04:42:25.248Z","0.1.1":"2026-07-30T05:35:43.789Z","0.1.2":"2026-07-30T06:56:40.805Z","0.1.3":"2026-07-30T11:36:40.207Z","0.1.4":"2026-08-05T09:30:08.756Z","0.1.5":"2026-08-05T10:04:31.741Z","0.1.6":"2026-08-05T10:14:40.238Z","0.1.7":"2026-09-23T14:55:20.769Z"},"bugs":{"url":"https://github.com/isla-may/nivo-biaxial-chart/issues"},"author":{"name":"Isla Niclole May"},"license":"MIT","homepage":"https://github.com/isla-may/nivo-biaxial-chart#readme","keywords":["nivo","chart","line-chart","biaxial","react","d3"],"repository":{"url":"git+https://github.com/isla-may/nivo-biaxial-chart.git","type":"git"},"description":"A biaxial line chart built on top of @nivo/line primitives","maintainers":[{"name":"islamay","email":"isla.nichola.may@gmail.com"}],"readme":"# nivo-biaxial-chart\n\n[![npm version](https://img.shields.io/npm/v/nivo-biaxial-chart.svg)](https://www.npmjs.com/package/nivo-biaxial-chart)\n[![license](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n\nA biaxial line chart built on top of [@nivo/line](https://nivo.rocks/line/) primitives, with support for **independent per-series X and Y scales**, stacked multi-axis layouts, and slice tooltips that interpolate values between series that don't share the same axis.\n\nNivo's own `Line` component assumes every series shares a single X/Y scale. `nivo-biaxial-chart` relaxes that assumption: each series can be plotted against its own axis pair, so you can put temperature and revenue — or any two (or more) series with unrelated units or ranges — on the same chart without one flattening the other.\n\n## Table of contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Quick start](#quick-start)\n- [Demos](#demos)\n  - [1. Unified bottom axis, left/right Y axes](#1-unified-bottom-axis-leftright-y-axes)\n  - [2. Auto-spaced axes with slice tooltips](#2-auto-spaced-axes-with-slice-tooltips)\n  - [3. Auto-spaced axes with points](#3-auto-spaced-axes-with-points)\n  - [4. Independent (unequal) X scales per series](#4-independent-unequal-x-scales-per-series)\n  - [5. Nearest-value fallback for misaligned slices](#5-nearest-value-fallback-for-misaligned-slices)\n  - [6. Curve intercept on a linear chart](#6-curve-intercept-on-a-linear-chart)\n  - [7. Curve intercept on a smoothed chart](#7-curve-intercept-on-a-smoothed-chart)\n  - [8. Custom slice tooltip](#8-custom-slice-tooltip)\n  - [9. Canvas rendering](#9-canvas-rendering)\n- [API documentation](#api-documentation)\n  - [Exports](#exports)\n  - [Data shape](#data-shape)\n  - [`ResponsiveBiaxialLine` / `BiaxialLine` props](#responsivebiaxialline--biaxialline-props)\n  - [`axisInfo`](#axisinfo)\n  - [`axisSpacing`](#axisspacing)\n  - [Slices, `showNearest`, and `showIntercept`](#slices-shownearest-and-showintercept)\n  - [Custom tooltips](#custom-tooltips)\n  - [Canvas variant](#canvas-variant)\n  - [Theming](#theming)\n- [Development](#development)\n- [License](#license)\n\n## Features\n\n- 🔀 **Independent scales per series** — each series in `data` gets its own X and/or Y scale, computed and rendered on its own axis.\n- 📊 **Multiple stacked axes** — render more than one axis on the same side (e.g. two right-hand Y axes) and have them auto-space via `axisSpacing`.\n- 🎯 **Slice tooltips across mismatched scales** — hovering a slice can borrow the nearest raw data point (`showNearest`) or interpolate a series' rendered curve (`showIntercept`) to show a value for series that don't have an exact point at that position.\n- 🖌️ **SVG and Canvas renderers** — `BiaxialLine` / `ResponsiveBiaxialLine` (SVG) and `LineBiaxialCanvas` / `ResponsiveBiaxialLineCanvas` (Canvas).\n- 🧩 **Drop-in with Nivo primitives** — built directly on `@nivo/core`, `@nivo/axes`, `@nivo/colors`, `@nivo/legends`, `@nivo/scales`, and `@nivo/tooltip`, so theming, color scales, and legends work the same way they do in `@nivo/line`.\n- 🧠 **Fully typed** — generic over your series type, with typed points, slices, and layer props.\n\n## Installation\n\n```sh\nnpm install nivo-biaxial-chart\n```\n\n`react` and `react-dom` are peer dependencies and must be installed separately (`>=17.0.0`).\n\n## Quick start\n\n```tsx\nimport { ResponsiveBiaxialLine } from \"nivo-biaxial-chart\";\n\nexport function Chart() {\n  return (\n    <div style={{ height: 400 }}>\n      <ResponsiveBiaxialLine\n        data={[\n          {\n            id: \"series-a\",\n            data: [\n              { x: \"Jan\", y: 10 },\n              { x: \"Feb\", y: 20 },\n            ],\n          },\n        ]}\n      />\n    </div>\n  );\n}\n```\n\n`ResponsiveBiaxialLine` fills its parent container — wrap it in an element with an explicit height, as shown above.\n\n## Demos\n\nThe snippets below are trimmed excerpts from [examples/App.tsx](examples/App.tsx). Run `npm run example` to see all of them live (see [Development](#development)).\n\nAll examples share this shape of data — two series with mismatched units:\n\n```tsx\nconst data = [\n  {\n    id: \"temperature (°C)\",\n    data: [\n      { x: \"Mon\", y: 12 },\n      { x: \"Tue\", y: 15 },\n      { x: \"Wed\", y: 11 },\n      // ...\n    ],\n  },\n  {\n    id: \"revenue ($k)\",\n    data: [\n      { x: \"Mon\", y: 1200 },\n      { x: \"Tue\", y: 1900 },\n      { x: \"Wed\", y: 1400 },\n      // ...\n    ],\n  },\n];\n```\n\n### 1. Unified bottom axis, left/right Y axes\n\n![Basic example with a unified bottom axis, temperature on the left axis and revenue on the right axis](docs/screenshots/01-unified-bottom-axis.png)\n\nThe simplest biaxial layout: one shared bottom X axis, temperature on the left Y axis, revenue on the right Y axis. `axisInfo` is an array with one entry per series, in the same order as `data`.\n\n```tsx\n<ResponsiveBiaxialLine\n  data={data}\n  margin={{ top: 20, right: 80, bottom: 128, left: 60 }}\n  xScale={{ type: \"point\" }}\n  yScale={{ type: \"linear\", min: 0, max: \"auto\" }}\n  axisInfo={[\n    {\n      bottom: { tickSize: 5, tickPadding: 5 },\n      left: { legend: \"temperature (°C)\", legendOffset: -45, legendPosition: \"middle\" },\n    },\n    {\n      bottom: { tickSize: 5, tickPadding: 5 },\n      right: { legend: \"revenue ($k)\", legendOffset: 60, legendPosition: \"middle\" },\n    },\n  ]}\n  colors={[\"#e8c1a0\", \"#61cdbb\"]}\n  legends={[\n    {\n      anchor: \"bottom\",\n      direction: \"row\",\n      translateY: 100,\n      itemWidth: 160,\n      itemHeight: 20,\n      symbolSize: 12,\n      toggleSerie: true,\n    },\n  ]}\n/>\n```\n\n### 2. Auto-spaced axes with slice tooltips\n\n![Auto-spaced axes with slices, hovering a slice shows both series' values in a shared tooltip](docs/screenshots/02-auto-spaced-slices.png)\n\nGive only the first series a `left` axis and let `axisSpacing` stack any further axes on the same side automatically as series are toggled on/off in the legend. `enableSlices=\"x\"` plus `useMesh` enables hover-to-inspect slice tooltips.\n\n```tsx\n<ResponsiveBiaxialLine\n  data={data}\n  margin={{ top: 20, right: 20, bottom: 128, left: 60 }}\n  xScale={{ type: \"point\" }}\n  yScale={{ type: \"linear\" }}\n  axisSpacing={{ bottom: 36 }}\n  axisInfo={[\n    {\n      bottom: { tickPadding: 5, tickSize: 5 },\n      left: { tickPadding: 5, tickSize: 5, legend: \"temperature (°C)\", legendOffset: -45, legendPosition: \"middle\" },\n    },\n    { bottom: { tickPadding: 5, tickSize: 5 } },\n  ]}\n  lockYScale\n  colors={[\"#e8c1a0\", \"#61cdbb\"]}\n  enablePoints={false}\n  enableSlices=\"x\"\n  useMesh\n/>\n```\n\n### 3. Auto-spaced axes with points\n\n![Auto-spaced axes with points enabled, showing a single-point tooltip on hover](docs/screenshots/03-auto-spaced-points.png)\n\nSame layout as above with `enablePoints` and a larger `pointSize` instead of a bare line.\n\n```tsx\n<ResponsiveBiaxialLine\n  data={data}\n  // ...same axisInfo/axisSpacing as above\n  enablePoints\n  pointSize={10}\n  useMesh\n/>\n```\n\n### 4. Independent (unequal) X scales per series\n\n![Two series with unequal X scales overlaid, the second series has twice as many x points as the first](docs/screenshots/04-unequal-x-scale.png)\n\nSeries don't need to share the same X categories at all — here the second series has twice as many x points as the first, plotted against its own independently-scaled X axis while both still share a Y position mapping via `lockYScale`.\n\n```tsx\nconst data = [\n  { id: \"temperature (°C)\", data: [ /* 7 points: Mon–Sun */ ] },\n  { id: \"temperature 2 (°C)\", data: [ /* 14 points: Mon 1–Sun 2 */ ] },\n];\n\n<ResponsiveBiaxialLine\n  data={data}\n  lockYScale\n  enableSlices=\"x\"\n  useMesh\n  // ...\n/>\n```\n\n### 5. Nearest-value fallback for misaligned slices\n\n![Slice tooltip showing a borrowed nearest value, marked with a leading arrow, for a series with no exact point in the slice](docs/screenshots/05-unequal-x-scale-nearest.png)\n\nWhen a hovered slice doesn't line up exactly with a point on every series, `showNearest` borrows that series' closest raw data point instead of omitting it from the tooltip. The arrow in the tooltip (`←`/`→`) indicates which side it was borrowed from.\n\n```tsx\n<ResponsiveBiaxialLine data={data} showNearest lockYScale enableSlices=\"x\" useMesh />\n```\n\n### 6. Curve intercept on a linear chart\n\n![Slice tooltip showing an interpolated intercept value, marked \"(I)\", on a straight-line chart](docs/screenshots/06-unequal-x-scale-intercept-linear.png)\n\n`showIntercept` goes a step further than `showNearest`: instead of borrowing the nearest raw point, it interpolates the series' own rendered curve to compute the value it would have at the slice's exact position — even on a plain `curve=\"linear\"` chart.\n\n```tsx\n<ResponsiveBiaxialLine\n  data={data}\n  showIntercept\n  showNearest // fallback when interpolation isn't valid (e.g. outside the series' plotted range)\n  lockYScale\n  enableSlices=\"x\"\n  useMesh\n/>\n```\n\n### 7. Curve intercept on a smoothed chart\n\n![The same intercept behavior on a cardinal-curved chart, where the interpolated value follows the smoothed curve](docs/screenshots/07-unequal-x-scale-intercept-curved.png)\n\n`showIntercept` is especially useful with smoothing curves like `curve=\"cardinal\"`, since the interpolated value follows the actual rendered (curved) path rather than a straight line between raw points.\n\n```tsx\n<ResponsiveBiaxialLine\n  data={data}\n  showIntercept\n  showNearest\n  curve=\"cardinal\"\n  lockYScale\n  enableSlices=\"x\"\n  useMesh\n/>\n```\n\n### 8. Custom slice tooltip\n\n![A custom-styled slice tooltip with directional arrows for borrowed values](docs/screenshots/08-unequal-x-scale-custom-tooltip.png)\n\n`sliceTooltip` receives the full `SliceData`, including `isInterceptSlice` / `isInterceptNearestDirection` flags so you can visually distinguish exact readings from interpolated or borrowed ones.\n\n```tsx\nimport { LineSeries, Point, SliceTooltipComponent } from \"nivo-biaxial-chart\";\n\nconst SliceTooltip: SliceTooltipComponent<LineSeries> = ({ slice }) => {\n  const rows = slice.points.map((point: Point<LineSeries>) => ({\n    name: point.seriesId.toString(),\n    value: point.data.yFormatted,\n    label: point.isInterceptSlice\n      ? `${point.isInterceptNearestDirection === \"left\" ? \"←\" : \"→\"} ${point.data.xFormatted}`\n      : point.data.xFormatted,\n    color: point.color,\n  }));\n\n  return (\n    <div style={{ background: \"#fff\", padding: \"0.5rem 0.75rem\", borderRadius: 4 }}>\n      {rows.map((row) => (\n        <div key={row.name} style={{ display: \"flex\", gap: \"0.5rem\" }}>\n          <span style={{ flexGrow: 1 }}>{row.label}:</span>\n          <strong>{row.value}</strong>\n        </div>\n      ))}\n    </div>\n  );\n};\n\n<ResponsiveBiaxialLine\n  data={data}\n  showIntercept\n  interceptPrecision={1}\n  sliceTooltip={SliceTooltip}\n  showNearest\n  lockYScale\n  enableSlices=\"x\"\n  useMesh\n/>;\n```\n\n### 9. Canvas rendering\n\nFor very large datasets, use the Canvas renderer instead of SVG. It shares the same props (minus SVG-only layers like `defs`/`fill`) and supports `pixelRatio` for high-DPI screens.\n\n```tsx\nimport { ResponsiveBiaxialLineCanvas } from \"nivo-biaxial-chart\";\n\n<div style={{ height: 400 }}>\n  <ResponsiveBiaxialLineCanvas data={data} pixelRatio={window.devicePixelRatio} />\n</div>;\n```\n\n## API documentation\n\n### Exports\n\n| Export | Description |\n| --- | --- |\n| `BiaxialLine` | Non-responsive SVG chart; takes explicit `width`/`height`. |\n| `ResponsiveBiaxialLine` | SVG chart wrapped in Nivo's `ResponsiveWrapper`; fills its parent container. |\n| `LineBiaxialCanvas` | Non-responsive Canvas chart; takes explicit `width`/`height`. |\n| `ResponsiveBiaxialLineCanvas` | Canvas chart wrapped in `ResponsiveWrapper`. |\n| Types | `LineSeries`, `Point`, `SliceData`, `ComputedSeries`, `PointTooltipComponent`, `SliceTooltipComponent`, `AxisProps`, `CanvasAxisProps`, `LineSvgLayer`, `LineCanvasLayer`, and more — see [src/types.ts](src/types.ts) and [src/axes/types.ts](src/axes/types.ts). |\n\n### Data shape\n\n```ts\ntype AllowedValue = string | number | Date | null; // null marks a missing value\ntype LineSeries = {\n  id: string | number;\n  data: readonly { x: AllowedValue; y: AllowedValue }[];\n};\n```\n\n`data` is `readonly LineSeries[]`. Every downstream prop (`axisInfo`, `colors`, tooltips, layers) is indexed positionally against this array, in series order.\n\n### `ResponsiveBiaxialLine` / `BiaxialLine` props\n\nAll props are optional except `data`; defaults are listed below (see [src/defaults.ts](src/defaults.ts) for the source of truth).\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `data` | `readonly Series[]` | — | **Required.** The series to plot. |\n| `width` / `height` | `number` | — | Required on `BiaxialLine` only; `ResponsiveBiaxialLine` derives these from its container. |\n| `margin` | `Box` | — | Chart margins, e.g. `{ top, right, bottom, left }`. |\n| `xScale` | `ScaleSpec` | `{ type: 'point' }` | X scale config, per `@nivo/scales`. Applies per series unless overridden via `axisInfo`. |\n| `yScale` | `ScaleSpec` | `{ type: 'linear', min: 0, max: 'auto' }` | Y scale config. |\n| `lockYScale` | `boolean` | `false` | When `true`, all series share a single Y scale computed from the union of every series' Y values. X scales always remain independent per series. |\n| `axisSpacing` | `{ top?, right?, bottom?, left? }` | — | Pixel offset auto-stacked between axes rendered on the same side, in `axisInfo` order, skipping any side whose series is currently hidden (e.g. via legend toggling). |\n| `axisInfo` | `{ top?, right?, bottom?, left? }[]` | one entry with a `bottom`/`left` axis | Per-series axis configuration — see [`axisInfo`](#axisinfo) below. |\n| `curve` | `LineCurveFactoryId` | `'linear'` | d3-shape curve factory name, e.g. `'cardinal'`, `'monotoneX'`, `'step'`. |\n| `theme` | `PartialTheme` | — | Nivo theme object (same shape as `@nivo/core`'s `Theme`). |\n| `colors` | `OrdinalColorScaleConfig` | `{ scheme: 'nivo' }` | Series color scale, per `@nivo/colors`. |\n| `lineWidth` | `number` | `2` | Stroke width of each line. |\n| `enablePoints` | `boolean` | `true` | Render a dot at each data point. |\n| `pointSize` / `pointColor` / `pointBorderWidth` / `pointBorderColor` | — | `6` / `{ from: 'series.color' }` / `0` / `{ theme: 'background' }` | Point styling. |\n| `enableArea` / `areaBaselineValue` / `areaOpacity` | — | `false` / `0` / `0.2` | Fill the area under each line. |\n| `enableGridX` / `gridXValues` | `boolean` / `TicksSpec` | `true` | Vertical grid lines. |\n| `enableGridY` / `gridYValues` | `boolean` / `TicksSpec` | `true` | Horizontal grid lines. |\n| `legends` | `LegendProps[]` | `[]` | Legend configuration, per `@nivo/legends`. Set `toggleSerie: true` to allow clicking a legend entry to hide/show that series. |\n| `isInteractive` | `boolean` | `true` | Disable all mouse/touch interaction when `false`. |\n| `useMesh` | `boolean` (SVG only) | `false` | Render an invisible Voronoi mesh over the chart for more forgiving point/slice hover detection. |\n| `enableSlices` | `'x' \\| 'y' \\| false` (SVG only) | `false` | Enable slice tooltips along an axis. |\n| `showNearest` | `boolean` (SVG only) | `false` | In a slice, borrow a series' nearest raw data point when it has none exactly at that slice. |\n| `showIntercept` | `boolean` (SVG only) | `false` | In a slice, interpolate a series' rendered curve to compute its value at that slice instead of borrowing a raw point. Falls back to `showNearest` when interpolation isn't valid. |\n| `interceptPrecision` | `number` (SVG only) | `2` | Decimal places an interpolated intercept value is rounded to before formatting. |\n| `enableCrosshair` / `crosshairType` (SVG only) | `boolean` / `CrosshairType` | `true` / `'bottom-left'` | Crosshair shown on hover. |\n| `tooltip` | `PointTooltipComponent<Series>` | built-in | Custom component for single-point tooltips. |\n| `sliceTooltip` | `SliceTooltipComponent<Series>` (SVG only) | built-in | Custom component for slice tooltips — see [Custom tooltips](#custom-tooltips). |\n| `layers` | `LineLayerId[] \\| LineCustomLayer[]` | `['grid','markers','axes','areas','crosshair','lines','points','slices','mesh','legends']` | Override chart layer order, or inject custom render layers. |\n| `initialHiddenIds` | `Series['id'][]` | `[]` | Series ids hidden on first render. |\n| `animate` / `motionConfig` | `boolean` / `MotionProps['motionConfig']` | `true` / `'gentle'` | react-spring animation settings. |\n| `onMouseEnter` / `onMouseMove` / `onMouseLeave` / `onMouseDown` / `onMouseUp` / `onClick` / `onDoubleClick` | `PointOrSliceMouseHandler<Series>` | — | Mouse event handlers, receiving the hovered `Point` or `SliceData`. |\n| `onTouchStart` / `onTouchMove` / `onTouchEnd` | `PointOrSliceTouchHandler<Series>` | — | Touch equivalents. |\n| `role` / `ariaLabel` / `ariaLabelledBy` / `ariaDescribedBy` / `isFocusable` (SVG only) | — | `'img'` / — / — / — / `false` | Accessibility attributes. |\n| `renderWrapper` | `boolean` | `true` | Whether to wrap the chart in Nivo's `Container`/theme provider. Set `false` if you're already inside one. |\n\n### `axisInfo`\n\n`axisInfo` is an array of axis configs, **one entry per series, in `data` order**. Each entry may define a `top`, `right`, `bottom`, and/or `left` axis for that series:\n\n```tsx\naxisInfo={[\n  {\n    left: { legend: \"temperature (°C)\", legendOffset: -45, legendPosition: \"middle\" },\n    bottom: { tickSize: 5, tickPadding: 5 },\n  },\n  {\n    right: { legend: \"revenue ($k)\", legendOffset: 60, legendPosition: \"middle\" },\n    bottom: { tickSize: 5, tickPadding: 5 },\n  },\n]}\n```\n\nA series with no entry (or `null` for a given side) renders no axis on that side — useful when several series should share a single already-rendered axis (combine with `lockYScale` and/or `axisSpacing`).\n\nEach axis config (`AxisProps`) supports: `tickValues`, `tickSize`, `tickPadding`, `tickRotation`, `tickOffset`, `domainLineOffset`, `hideDomain`, `format`, `truncateTickAt`, `renderTick`, `legend`, `legendPosition`, `legendOffset`, `ariaHidden`. The Canvas variant's `CanvasAxisProps` is identical except `legend` must be a plain `string` (no `ReactNode`).\n\n### `axisSpacing`\n\nWhen more than one axis renders on the same side (e.g. two series both have a `left` axis), `axisSpacing` auto-stacks them outward by the given pixel amount per side, and re-collapses the gap left by any series currently hidden via the legend:\n\n```tsx\naxisSpacing={{ bottom: 36, left: 60 }}\n```\n\n### Slices, `showNearest`, and `showIntercept`\n\nBecause each series can have its own independent scale, \"the same\" x position can land a few pixels apart between series. `enableSlices=\"x\"` groups nearby points into a `SliceData` for tooltip purposes; when a series has no point exactly inside a slice, two strategies fill the gap:\n\n- **`showNearest`** — use that series' closest actual data point. The resulting `Point.nearestDirection` (`'left' | 'right'`) tells you which side it was borrowed from.\n- **`showIntercept`** — interpolate the series' rendered curve at the slice's position (works especially well with smoothing curves like `curve=\"cardinal\"`). Sets `Point.isInterceptSlice = true`, with `Point.isInterceptNearestDirection` indicating which side the axis value itself was borrowed from (interpolation only ever produces the missing coordinate, not a formatted axis label). Falls back to `showNearest` when the slice falls outside that series' plotted range or its scale can't be inverted.\n\nEnable one, both, or neither — with both off, a series only ever appears in a slice it exactly falls within.\n\n### Custom tooltips\n\n- `tooltip: PointTooltipComponent<Series>` — receives `{ point: Point<Series> }` for single-point hover tooltips.\n- `sliceTooltip: SliceTooltipComponent<Series>` — receives `{ axis: 'x' | 'y', slice: SliceData<Series> }`, where `slice.points` is the array of `Point<Series>` in that slice (including any nearest/intercept-filled ones, flagged as described above).\n\n### Canvas variant\n\n`LineBiaxialCanvas` / `ResponsiveBiaxialLineCanvas` share the common props above, minus SVG-only features (`defs`, `fill`, `useMesh`, `enableSlices`, `showNearest`, `showIntercept`, `sliceTooltip`, `crosshairType`, aria props). They add:\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `pixelRatio` | `number` | `window.devicePixelRatio` (or `1` server-side) | Canvas pixel density, for crisp rendering on high-DPI displays. |\n| `layers` | `LineCanvasLayer[]` | same layer list as SVG | Canvas draws with an imperative `(context, props) => void` layer signature instead of React components for custom layers. |\n\n### Theming\n\n`theme` accepts the same shape as `@nivo/core`'s `Theme` (exported here as `PartialTheme`) — axis, grid, legend, and tooltip styling:\n\n```tsx\nimport { PartialTheme } from \"nivo-biaxial-chart\";\n\nexport const theme: PartialTheme = {\n  text: { fontSize: 12, fill: \"#333\" },\n  axis: {\n    domain: { line: { stroke: \"#777\", strokeWidth: 1 } },\n    ticks: {\n      line: { stroke: \"#777\", strokeWidth: 1 },\n      text: { fontSize: 11, fill: \"#555\" },\n    },\n    legend: { text: { fontSize: 13, fill: \"#333\" } },\n  },\n  grid: { line: { stroke: \"#ddd\", strokeWidth: 1 } },\n  legends: { text: { fontSize: 12, fill: \"#333\" } },\n  tooltip: { container: { fontSize: 12 } },\n};\n```\n\n## Development\n\n```sh\nnpm install\nnpm run build     # bundle to dist/ (esm, cjs, and .d.ts)\nnpm run tsc       # type-check\nnpm run lint      # lint\nnpm run example   # run the example app in examples/ against the local src\n```\n\nThe example app ([examples/App.tsx](examples/App.tsx)) is the fastest way to explore every demo above interactively and is kept in sync with this README.\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}