{"_id":"@jarenjs/charts","_rev":"26-28898dc4fbe85b47df29f2b2a3211891","name":"@jarenjs/charts","dist-tags":{"latest":"0.91.4"},"versions":{"0.34.0":{"name":"@jarenjs/charts","version":"0.34.0","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.34.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"d75884a3565f446cdf5925b320fffd94d0f171d6","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.34.0.tgz","fileCount":56,"integrity":"sha512-wgqNICkV+8+hK0Oz05LDeOEvHJcPbrJSNbxv7OZyLhRmQYXSVpskzPf/i+VnnAaopmICi7qBFJ+yEcz4yxYwDw==","signatures":[{"sig":"MEYCIQDFtQfsfCdBg0/OkSYBczbVDfZ365OGazuFxMzO6N/H+QIhAIcndG/3Dvc9CcpAnlBGFFS9GdzCXS2Y2nbOKYvKA5Gj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355777},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"2c2376a53a0905e8adbca04e3cc2510c358d3462","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.34.0","@jarenjs/view":"^0.34.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.34.0_1786632494005_0.3253382923479171","host":"s3://npm-registry-packages-npm-production"}},"0.34.2":{"name":"@jarenjs/charts","version":"0.34.2","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.34.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"761e5d614ae425e4260b19e403d040a895a60f37","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.34.2.tgz","fileCount":56,"integrity":"sha512-9xRhNc35fPnsKxzFD/QPH5kd3Sp91UrBIbxNTYGfLKmMJ17NAXGTgYGCk/hYQ1bd7n/GwR8Vi/YMRCSBFxtMeg==","signatures":[{"sig":"MEQCIBgjuI2rSgwQVj5mcQGrA0cVL83sAkfD58pemLE1ofxsAiATesp7BwMd+el4uECl1OlzsKH3P4wTRMRXwIfrTGRBgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355777},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"50d115c4d4a0cdf96f0a9775bb55cd3ec1f1aeab","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.34.2","@jarenjs/view":"^0.34.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.34.2_1786889767340_0.0415167399413463","host":"s3://npm-registry-packages-npm-production"}},"0.43.1":{"name":"@jarenjs/charts","version":"0.43.1","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.43.1","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"00aeb78ff488fd9c6fccdab5964446caaf3c795a","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.43.1.tgz","fileCount":56,"integrity":"sha512-5Yo6EEhUPw4d53N93JyfXi6xC7gl5e0F+QYuc2f1qYcRPaEJQ6jSBmfk2izhibeYWkOHQSejDyGJLVNYJemL9w==","signatures":[{"sig":"MEYCIQDXLMiVPcw2pRq7uRVo6/ksDBexgFST0vLSQPQOBhWV3AIhAL5yquXRni7ihR61mvMwvmav+EdHLMuW6O/ie9vA+X6m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355777},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"6e03d18fb68dd79a80c58f04f47901641901a2ec","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.43.1","@jarenjs/view":"^0.43.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.43.1_1787481704038_0.7020825670407314","host":"s3://npm-registry-packages-npm-production"}},"0.43.3":{"name":"@jarenjs/charts","version":"0.43.3","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.43.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"d02957e30c30b8f9790e6e026ac3baa78d7f8a57","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.43.3.tgz","fileCount":56,"integrity":"sha512-w1PZWI9mm5gCXvc/9K/bR00PQeN9Cyi1KsWnr+mZHnxKexgYKo/q7SuFvwFDgLvzAsqL7gFSLqgR/z+78EvyMw==","signatures":[{"sig":"MEUCIHPGqTjykyxIgilRoi1eYrO7tT8nHEDltfUrtpV21fEGAiEAg4WfyCAvb4PNMUXGpSE8QRgI3wuTLoip34fFXmd9fD4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355777},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"efd18dec49c026ddd9dd301cb17eb97e5feb1288","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.43.3","@jarenjs/view":"^0.43.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.43.3_1787588989732_0.014448176853627315","host":"s3://npm-registry-packages-npm-production"}},"0.46.4":{"name":"@jarenjs/charts","version":"0.46.4","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.46.4","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"950c750fa7a3a2a7e091e5b5db08e33363a4254c","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.46.4.tgz","fileCount":56,"integrity":"sha512-bElpBfqxddw1n7KjA3Dr8DMbuAxClV4Xg1AD0T5lSnIaDtbN9oOtIHIHaWhco8zZRQMqhLYeK6s/VYWl2qUzUA==","signatures":[{"sig":"MEUCIGcqPDkxDQ/k64ya52kWdNwAhSCVT6jSmE74AbkGVU5UAiEA+Oa4xQ148buJtU82lIms+QWhC1ycFAWrVRvbF9KaW80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355777},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"e1dc4417ddc0acc42402e7486f45bbc5bff2cb41","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.46.4","@jarenjs/view":"^0.46.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.46.4_1787728829071_0.5743826483667469","host":"s3://npm-registry-packages-npm-production"}},"0.46.5":{"name":"@jarenjs/charts","version":"0.46.5","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.46.5","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"daa09abbe7a21846e113b5ecbfdf3030a755f6b3","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.46.5.tgz","fileCount":56,"integrity":"sha512-fu42nSomb3LKHQ1E1gp1mT9hcSAQKZ94CjWUXei24dRckD1AB7iRbsSx8uoZ2RVjldHOllo5S62FDL7j2W4U/w==","signatures":[{"sig":"MEQCIBu97prr8i4R07yiR84VemnpS6rOuXwtezOLHs4UbGVVAiB/XtUEMViYGlBzPjtQUF3ckeR5uaY8T+/inN5HMKIEUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355777},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"0df1ef3a27b39e1408acf1ba2e63eed34b1c8621","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.46.5","@jarenjs/view":"^0.46.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.46.5_1787734471621_0.7905828163660356","host":"s3://npm-registry-packages-npm-production"}},"0.49.2":{"name":"@jarenjs/charts","version":"0.49.2","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.49.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"559b1e9264eb182f1cf4d6b16dbf049004fcac13","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.49.2.tgz","fileCount":58,"integrity":"sha512-4sXrMycm7BwjalLg6IBY2FFZ4WJm5YffuLIqTn55QUOEDvSPuQfrB4LtODNCdlTIo2l7WGdQL3hnBYrht1fWjg==","signatures":[{"sig":"MEUCIQD19/8dKuJatISd/zPudPv4LjyV4LuEZ5JEBX6tCvu3xgIgFcWHFiD2OmNNq02BmA1ao+KSQxoG5w8qdb0CAKOKbvU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375261},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"15e048f0cba387991c17758f689e8fd3b306dea8","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.49.2","@jarenjs/view":"^0.49.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.49.2_1787775786320_0.4541887248017249","host":"s3://npm-registry-packages-npm-production"}},"0.56.0":{"name":"@jarenjs/charts","version":"0.56.0","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.56.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"61a22bd6ddc6f88f3a361a6f7b90b7963de4912b","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.56.0.tgz","fileCount":58,"integrity":"sha512-wS9+Ugp3YfDNlvyEy/e1qSKEALgZOyoITIb4YXWrSkLZVsLxaYb8IenUzaLdJKBcoD6ZR5xhxi9krn5BHphHjQ==","signatures":[{"sig":"MEYCIQD8q3TPuBhTcorfL6oRTwE751yKDDML5ywo3h+flDarUQIhAIVHtQH1IEQqR9ks5UL5fkvMbgCykMw6Ko5pi3ZFDHkJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375277},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"74f70f52b57410763dab4c52173cf037da601e70","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.56.0","@jarenjs/view":"^0.56.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.56.0_1788053708678_0.6424194445829845","host":"s3://npm-registry-packages-npm-production"}},"0.66.1":{"name":"@jarenjs/charts","version":"0.66.1","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.66.1","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"fa4fc4a898901751708bbc4a4eede374c704bb81","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.66.1.tgz","fileCount":58,"integrity":"sha512-E92dgj0pPkFTafkpThU2C3q8F0l885I2lpgAbsaRURdDDSMbdatCDICh9Ianb8FezubWw0NapoVjNSd6SlRmZw==","signatures":[{"sig":"MEUCIQDgIB4HwWlnes4oer0UPGCYpSkWT++K0Rm2oX6BCrQEEwIgR9dzLImC9575llxrhFRj9g9/c+ZhWSpegQuTX3QRuZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH+pUVhBZv2lugol56z8yya7Si8zbKJS4V9obwI8SmUvAiEA/9LVBPqrozsu7qqNBLVNkxZaNZVkH1BqZOA/kcLOhXg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":388877},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"38bd730da099aff22b13944f85b691b0bd399bec","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.66.1","@jarenjs/view":"^0.66.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.66.1_1788890874328_0.8822573558807263","host":"s3://npm-registry-packages-npm-production"}},"0.67.0":{"name":"@jarenjs/charts","version":"0.67.0","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.67.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"996cf8f00b62b78b5c4a76de589e8f3e2e5a911c","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.67.0.tgz","fileCount":58,"integrity":"sha512-vmKo78FsmdDK7FIXX6LkJY28FzPwKN6ATHmYYw1MiGn2TDSV8ws5DHYjpLT6Jx7GrwlnNXh0JM2OKHDC+OjaLg==","signatures":[{"sig":"MEQCID06vTqayq7tEeD0upi9EkJkVcol0cU1h7vkcdKkv+NkAiBY3WhRBZYS06h2oDHfxIuta8BG0VFQdcP8FrZBxGD6bQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHgs1F1g/PPMlFGowMhzaE/tzXkpwtRJk7auReD6DTDHAiA2GIjoaQtS2s5ulcMzyqMByKRAUNgno7Ovs4tCRBPHvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":388877},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"78082760da582ed92ccb3f4dedbf550090f1f18f","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.67.0","@jarenjs/view":"^0.67.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.67.0_1788896740203_0.6280636092577314","host":"s3://npm-registry-packages-npm-production"}},"0.72.0":{"name":"@jarenjs/charts","version":"0.72.0","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.72.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"02109d7cde0d8ca8d5d60f281724589b9f81826e","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.72.0.tgz","fileCount":58,"integrity":"sha512-+J04l/gymUmxFbfAkrJD4mkxpFNokJYtNQek5ZDhNvFxBNm7EXs5ybaFCemTCwlpJf79ANncvYnabveK1GlzLA==","signatures":[{"sig":"MEQCIGv4rP+l3Bj5zw5YALUuduLVRYOU2fXl74tO2IZbB89BAiACdJn0La9FrvBef6hAdt2xo2NYQ3RadeGHaRoQKLjHjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCh45R7bnT04jV7rMZyeb23cVY/yll3urhePxXe83FB+AIhAPNcra/L9cAukWL7ycZdCJ8dqcVg5b2GaL4PM50TWiky","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":389025},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"661647bcd8ec149b3d466d3929ba3b5e7a2d267d","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.72.0","@jarenjs/view":"^0.72.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.72.0_1788952205533_0.3849383119432439","host":"s3://npm-registry-packages-npm-production"}},"0.72.2":{"name":"@jarenjs/charts","version":"0.72.2","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.72.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"70f8ca29eaab49e6b18dbbdb20872696c80a26a4","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.72.2.tgz","fileCount":58,"integrity":"sha512-JtJpc3SyMB5am0SpcyeWphP2doIfxRIwUNl77LnaVL7dCE0MRVHHQ2XqaVFFZdk99pMZFrRrGemK6Lck2v5ZKA==","signatures":[{"sig":"MEQCIFx+jso4Td0UIpgmpG0pABoGYQ6KDQxeMA5tJVABGIESAiAW7ICBlgvA1gWEvl20SbXh+8/kCTotT/b4mJgD8mNVzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFNxul29tIU4LzNVGXZNlH1MFWHYVlbs+G6Cluul0L5EAiEAva+SPXaqlG6MADfSd44CETcgbYZgP2Oelz5cr0b9BCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"fe4a5f69ee8d59552c53795c279c46091aa3ff8c","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.72.2","@jarenjs/view":"^0.72.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.72.2_1788964417242_0.5980455844973314","host":"s3://npm-registry-packages-npm-production"}},"0.72.3":{"name":"@jarenjs/charts","version":"0.72.3","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.72.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"c75296810eb2475cd8a8adfd679cea94e99667cb","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.72.3.tgz","fileCount":58,"integrity":"sha512-eMDluyPtUujYpe7tzUIAbbhrLyz51s2N530S0DkZSYENB6lXKDgLsND9XzbE3reQQ4gdDbTo1awFgBE4PyOHqg==","signatures":[{"sig":"MEQCIAwRYapwxj+H9h0yFp4o/+a9MQjcsUajE+3L6oOhixUjAiBi3WIpPVsPzMlJu8OyRciOW/u4tshDrOXUdQaBwMASQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCTXul2LCxj2STHzNw/+16R99kzbzDGp6exb7+yvB5H0QIgQHn5+Jmvg9+kGzVnV0T05pFYVcN//aHIX9B5O2DJZKA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"a5ef0d342fdb56b58f5bd1301af4a23d0cc3ec00","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.72.3","@jarenjs/view":"^0.72.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.72.3_1788974174914_0.6149594321381207","host":"s3://npm-registry-packages-npm-production"}},"0.73.0":{"name":"@jarenjs/charts","version":"0.73.0","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.73.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"1306ecf9a22f020e9c499ed82f0378462ba3d40d","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.73.0.tgz","fileCount":58,"integrity":"sha512-310cL0Gpzek+cJ7aGckjRYnwo9gAEOBtK9sOHt15usQd7plZXx8kF15uo9YbubR2bfwsrOaQhMeLWiCN+FytFA==","signatures":[{"sig":"MEYCIQCOcGKeZNpSWTDgCg6HZnh7QHsJpeA67yDmLijcGuwNpAIhAPpK8SaW4Uct75OFYF61wWfhE8bYEelnB4NvYRkMnpaW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCHxzAr9M43IWxN81X+J6WpqFhspIvNkiobegZn5bGXHcCIQCyiZu6b4VuF7+AgRA8WNBZK7FJJA0xibxOg4aRVdVgtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"7f700942ad404a8203452f3b263b05c2aec2fe05","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.73.0","@jarenjs/view":"^0.73.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.73.0_1788980580671_0.4913470583799142","host":"s3://npm-registry-packages-npm-production"}},"0.75.0":{"name":"@jarenjs/charts","version":"0.75.0","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.75.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"470f5c9ae7c39b5d88affdfe503d8eed7b86cb12","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.75.0.tgz","fileCount":58,"integrity":"sha512-X/m4N3gwYrLMBijc0XihjWAiTpuo63FCILolcrvY9rJhU6WdynkokyduvYxlbEzSL03XtVaIQW+uU92USkU2pQ==","signatures":[{"sig":"MEUCICmiOBKtvz3FqyAlppTpAtIrG9pY/L5KTaGiB94GvorrAiEArUb+UKknXnxY13cd2LOyipp/wbO43hjcAiGKO74DAkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHbwefi/39vAsGquPU8Cxw7qX++y2Cpumq6ZaX4NtkwOAiEAj3HYS72RCelNcMRYRc+N6k8QWqEqQHrWu/fy5d7l2BU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"a50e9c57bc3e867529c18433a448178559d20c85","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.75.0","@jarenjs/view":"^0.75.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.75.0_1788994423029_0.4758464889438565","host":"s3://npm-registry-packages-npm-production"}},"0.83.2":{"name":"@jarenjs/charts","version":"0.83.2","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.83.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"9255688fa2470b2175686019b0d0e95574f82637","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.83.2.tgz","fileCount":58,"integrity":"sha512-oEPggDgTSk9VvTlyBnmRCfRFij/W1VmanT/DwgKfgEyFxn3nd0UOb4X9RULUwjbbRndpOTXmBbpSPpmtQq3JsA==","signatures":[{"sig":"MEUCIQChXS+yBXOuAP6LmPDS5NtxRgrhErr0hAJ9NkeY3ZTLxQIgSy2N/xZto/uSMM2cn91JIiU/W8moAGb7jsQQbYvUvTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCOK7HKC0zr8yU3/1gmgn/87rwO/RVex5EbQPxk4DuvfwIhALkLH+8S2YgdhFeW7xZug3KjE6xnCREnfcClgNf46QOt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"f21b18fa123a6c72a0ca31dbad374ec5a8bf78ff","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.83.2","@jarenjs/view":"^0.83.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.83.2_1789113294805_0.7491731897236815","host":"s3://npm-registry-packages-npm-production"}},"0.83.3":{"name":"@jarenjs/charts","version":"0.83.3","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.83.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"502042385de630de27a6af442b9665cf87569c3a","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.83.3.tgz","fileCount":58,"integrity":"sha512-PB2vldS85AeMDlglRYMYJYarL+omNhfZ4AR00/M4BDtO4BCANdYSRr38n92bKnY1w73yBS11+GAtucbVtAFMyA==","signatures":[{"sig":"MEUCIDdi5tUSRBFwAFEEedDdn3Qo02DrDhMDUskJPH6FE6FbAiEAwqXQlVxr+Evi97MNPz8pgdObVMSKzBFlADsyUkJrLAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCroi9Zm1J/XrVUWW6uiWzDhH5gwvdZx3F62nZEV4HWoAIhANgHtyr+HbxnbKkrQZxAZ1Sr3ZyrtfjOt5k9KtrJulXt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"3491513e164dc30e429c84e709bd738841f4df16","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.83.3","@jarenjs/view":"^0.83.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.83.3_1789132202563_0.875779103928328","host":"s3://npm-registry-packages-npm-production"}},"0.84.3":{"name":"@jarenjs/charts","version":"0.84.3","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.84.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"5b5e7d6e59e6088c285b16394c7408657b5da077","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.84.3.tgz","fileCount":58,"integrity":"sha512-JCS5R9attc9+LcXoD7kloJSPLP8OPr0wsaSGEd55mHucrqfNEUpFYeyV3HJ6IqHPEUUTbWgmFzFB1Dv7K1MSxw==","signatures":[{"sig":"MEUCIF817GLqyhorsOOwqSPtkAxklwVdXtKVn2LBsBGsFuvUAiEApsjcZiRsFbDd2c5IjCi8dYnH/V9a+rz/JQJ20Mln3aE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCJv8zA25YuX7v1AGfCRxIEkS0TO+aFq/CzVZj2J3j6lAIhAKoPk40DG5/Q67pIZ8yK4aF9MjKQ94hdf9HZS24hj0Wk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"ac8749711f5d058251f72842ce7e0095b389403f","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.84.3","@jarenjs/view":"^0.84.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.84.3_1789191944038_0.8718280444647699","host":"s3://npm-registry-packages-npm-production"}},"0.85.0":{"name":"@jarenjs/charts","version":"0.85.0","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.85.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"4f3d8e6e4b9d1bee9936d1d1dcf2dd5acd3719d2","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.85.0.tgz","fileCount":58,"integrity":"sha512-nntT1H1XMfPikae+S8HrCin9bznxQzfyDZI/RjWi88V/CUxBlNEkZsv45/ePQXCosQ+PJFcLWTvc0E1W5GhM7A==","signatures":[{"sig":"MEUCIF627EzEYdOH77I5pajVqDH63nZMgG49cUjcEsPBUw3QAiEA08b9ouLEtJUFYQG9hSYanrd0T0c0Pbn+xPU9Ppo5+jM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCgmKRSvydVZUtmOUf2fKDNjmnGYPK9ag2aGhdTieruBgIgeJytjkm1cD/g0R5aJwY1SP7OOBDeEmNqaa2yje+lO2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"5765fba5ab5c1d390dc28316a4255b47cd0f6f8a","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.85.0","@jarenjs/view":"^0.85.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.85.0_1789213962930_0.19681336726886656","host":"s3://npm-registry-packages-npm-production"}},"0.86.0":{"name":"@jarenjs/charts","version":"0.86.0","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.86.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"17e54eb5c467291d5e7c319051c2746175c76982","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.86.0.tgz","fileCount":58,"integrity":"sha512-d5iy8rvRDkAj9FEt4ja6nQAi1aGbO2wJyODjonxR5KmpSSt0lAKB753le4r9APiF/r9WkoeUuPRS7Rjav4PYDQ==","signatures":[{"sig":"MEYCIQDeidLpJz3h3liKFJ/1FTpPLtqk2v2s0zPImwMTpQCXwgIhAIN6lvHQwXUdaAR6ZfnlzMZj3hniM+sLDI96+GUuBlCY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIErNf4oXKg70K6f+lfI4qRT4XjhYCp1PkGaImvmyamB+AiEAtmglNueJ7fMmrwiq0bzrYtneOcEkWMa6si6/HNUCApI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"ce489546f21a176a2574169b65b95f9dc15461f7","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.86.0","@jarenjs/view":"^0.86.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.86.0_1789221991188_0.28020389083604136","host":"s3://npm-registry-packages-npm-production"}},"0.87.0":{"name":"@jarenjs/charts","version":"0.87.0","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.87.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"bcf95a65913d057dbab9a8ddd8c94389bccd2645","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.87.0.tgz","fileCount":58,"integrity":"sha512-mCbtA5Wd8TGX9bh56iFxzWc6M649il3F/wLq6fxfmYjMKmUER3Dj1CnY2rH1ZvdPKVaya8oRD4lEZPqp9KDDMQ==","signatures":[{"sig":"MEUCIEsPyIoio9DJoqdfijlI98g/VujX0IkB76wG0T7JMCU0AiEA4Bomt1zLdicH+C84P3Tht9QH/yQFpcBl6D/AlCnjCS4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCrROUpcAGvz/GyLBiIPaLNTncsvrzNr0l38XHPlVlgngIgC78lpv5s+Ag4AdavpG4NbxnyGWzsPi1sUvfTHKIfHAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"9b67ed8cb88d2dbe95cb3eb5fe0ac88cfb70f347","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.87.0","@jarenjs/view":"^0.87.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.87.0_1789243334108_0.8294240202494143","host":"s3://npm-registry-packages-npm-production"}},"0.89.0":{"name":"@jarenjs/charts","version":"0.89.0","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.89.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"cd08ec9c7c9690f94054a1986f1823b911898047","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.89.0.tgz","fileCount":58,"integrity":"sha512-njL+UTqDL3LXRaVGrPl/0tAv4h84e8cjeET5MjhpWzBXOHWD1hQ+VsOjB73j6+KgRoLcQoQ4xWSRD9O2An3kJw==","signatures":[{"sig":"MEUCIQCH5DdEm5unS4kIDCCL/0zv16yujGhxYopyoATRkrOl0gIgKZ15CSW/+zzREz3Rg4/LyPfZA9v9riIgljh1IpLVykk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC7eH81vuJDAYOTM3hoRPpfShbzjGXUh6GchD2hZkiKcAIgO9+AchARb++eIs5Ucw6dHRhrx3Y0SHKGAuwBuFkdbxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"41f5a36eccd43591d7c04d9116a6d210617e9146","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.89.0","@jarenjs/view":"^0.89.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.89.0_1789288750401_0.575610119386309","host":"s3://npm-registry-packages-npm-production"}},"0.90.6":{"name":"@jarenjs/charts","version":"0.90.6","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.90.6","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"e27f8f55dadb1a4dadab13e168ea6a48e28c1c88","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.90.6.tgz","fileCount":58,"integrity":"sha512-fANtnJXeoa27Eh5V71KbAeSyYfD63lA74XW7JGmtfwQQzHcSa7G6hK4HnvmNrsXTtM7Y6yMNh05V5EZ3gTGyBQ==","signatures":[{"sig":"MEYCIQDvVgsujksNDKMWKL3QG7w6DHS9YxEHH8+QjZiTKH9U5gIhAOsTr0Rv+jOEvNZ9rt0jTw4UFWmwhpUnw+2bzzm48NZp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCoMkYA/R9hkgzhMtZ8h7RWfS8sBSOW0KUceSw5H/iXkAIhAN6VpYibWroV2s7pArG2VZDgqFILOqubyFOt/diLTDPy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"37ba1676dab7868b168858b413a3ec647eebefdd","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.90.6","@jarenjs/view":"^0.90.6"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.90.6_1789444576078_0.05822661208752944","host":"s3://npm-registry-packages-npm-production"}},"0.91.2":{"name":"@jarenjs/charts","version":"0.91.2","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.91.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"9e64f8bcfaac95e85cdcbd2e1faee276d58deca7","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.91.2.tgz","fileCount":58,"integrity":"sha512-nfr8NkKHBe8d9/xcNgawSxxm6EwB1CMKwHJjxSgSfq0io/hSg6nP5G6vsqSwlwtERZyejHbgj6dgkbswI8QjtQ==","signatures":[{"sig":"MEUCIQDu9sxsxNnSoJtXxgcaTajW6P94cHOELrvxq693jXG9+wIgMpVFkfZ+Ph13w9SJqJiz9A1BE3fxaE6iHHp1+WA17FQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAsXW2Poo7EgCy9T4Iw5HjeFk7mkwVEm5iBhTt7zJrf8AiAjcbIsnGSSHoSZVo/8gjHtKzkeNmWPRcHwNTQdBABdVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390065},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"74036c063c5a4efa8c41aa878713d405223cc464","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.91.2","@jarenjs/view":"^0.91.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.91.2_1789572432003_0.9712377416435329","host":"s3://npm-registry-packages-npm-production"}},"0.91.3":{"name":"@jarenjs/charts","version":"0.91.3","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/charts@0.91.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"2e300263b8f0d26f6355bd20bb1d5589ee51243b","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.91.3.tgz","fileCount":60,"integrity":"sha512-OT416U1bUAXfWFCNHPRsxEUPjpw5TeDJmMP01xlM5XgL/TweRGr1iM7ux0RoO+hIgrr+fAVPVL3RdKwuk9tSBw==","signatures":[{"sig":"MEUCIQCWx5cn+GHcoods4U0F/9h6lkZY5RZ27XXKQ7OF86clkQIgcMx7+cFb6Uvlb6lu6ABWCqzC0Daltr0hxjNDfHk7qo4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDkPEpGJ36e7g5yRWWCcU5UhTFrn2HZyNypiOt/TY/wmgIhAMbqB5sLdS27oi0lkYYGW+8pUtBtY1LTDaf0NDZxLr0e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":394399},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/finance-adapter":{"types":"./dist/types/transforms/finance-adapter.d.ts","default":"./src/transforms/finance-adapter.js"},"./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"1577600d98b9ef23381843911958aab10728707f","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.91.3","@jarenjs/view":"^0.91.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/charts_0.91.3_1789659348541_0.6946005004974303","host":"s3://npm-registry-packages-npm-production"}},"0.91.4":{"_id":"@jarenjs/charts@0.91.4","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"6ab83ea6207c039cd018b05fb708aee1aa99327c","tarball":"https://registry.npmjs.org/@jarenjs/charts/-/charts-0.91.4.tgz","fileCount":60,"integrity":"sha512-0JhiwvEGokx1lhCZaSV826VOsK3y52nZNPCyzv99woMQzEX2XqOs+FBRrwHNuRXMie6o9atheMtHo+giH3WRbQ==","signatures":[{"sig":"MEUCIQDb1chQD+3swKumNAf4yYNqmU5grHnmVulVnmPNHuYf3gIgcTp43pwHKHovwlwN7h2zrBK0ZEkdhRc1a0IKR/RHCac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEP1usETUg3sP4Xte9WpWR8O8jxAW14hpoSBgGVpXwYgAiEA3ysnpvHm4fEhC07ke9FCVO8zv3aPHYBdI5hIx3HIYHA="}],"unpackedSize":394399},"main":"./src/index.js","name":"@jarenjs/charts","type":"module","types":"./dist/types/index.d.ts","author":{"name":"joham"},"engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./component":{"types":"./dist/types/component/index.d.ts","default":"./src/component/index.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json","./stream-adapter":{"types":"./dist/types/core/stream-adapter.d.ts","default":"./src/core/stream-adapter.js"},"./styles/charts.css":"./styles/charts.css","./transforms/finance-adapter":{"types":"./dist/types/transforms/finance-adapter.d.ts","default":"./src/transforms/finance-adapter.js"},"./transforms/mermaid-adapter":{"types":"./dist/types/transforms/mermaid-adapter.d.ts","default":"./src/transforms/mermaid-adapter.js"},"./transforms/benchmark-adapter":{"types":"./dist/types/transforms/benchmark-adapter.d.ts","default":"./src/transforms/benchmark-adapter.js"}},"gitHead":"30ec046081c02c80ad1916569c45e134e33fb82b","license":"MIT","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"version":"0.91.4","_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"homepage":"https://github.com/jklarenbeek/jarenjs#readme","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"_npmVersion":"11.12.1","description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","directories":{},"maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.91.4","@jarenjs/view":"^0.91.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/charts_0.91.4_1789820605047_0.6733828281192489"}}},"time":{"created":"2026-08-13T14:48:13.766Z","modified":"2026-09-19T12:23:25.317Z","0.34.0":"2026-08-13T14:48:14.402Z","0.34.2":"2026-08-16T14:16:07.482Z","0.43.1":"2026-08-23T10:41:44.189Z","0.43.3":"2026-08-24T16:29:49.968Z","0.46.4":"2026-08-26T07:20:29.213Z","0.46.5":"2026-08-26T08:54:31.765Z","0.49.2":"2026-08-26T20:23:06.489Z","0.56.0":"2026-08-30T01:35:08.834Z","0.66.1":"2026-09-08T18:07:54.471Z","0.67.0":"2026-09-08T19:45:40.333Z","0.72.0":"2026-09-09T11:10:05.629Z","0.72.2":"2026-09-09T14:33:37.367Z","0.72.3":"2026-09-09T17:16:15.014Z","0.73.0":"2026-09-09T19:03:00.761Z","0.75.0":"2026-09-09T22:53:43.140Z","0.83.2":"2026-09-11T07:54:54.887Z","0.83.3":"2026-09-11T13:10:02.662Z","0.84.3":"2026-09-12T05:45:44.171Z","0.85.0":"2026-09-12T11:52:43.049Z","0.86.0":"2026-09-12T14:06:31.277Z","0.87.0":"2026-09-12T20:02:14.209Z","0.89.0":"2026-09-13T08:39:10.491Z","0.90.6":"2026-09-15T03:56:16.185Z","0.91.2":"2026-09-16T15:27:12.097Z","0.91.3":"2026-09-17T15:35:48.625Z","0.91.4":"2026-09-19T12:23:25.136Z"},"bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"author":{"name":"joham"},"license":"MIT","homepage":"https://github.com/jklarenbeek/jarenjs#readme","keywords":["jaren","charts","svg","pie","bar","line","scatter","headless","streaming","vnode"],"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"components/charts"},"description":"Headless charts for the jaren suite: chart definitions compiled to a geometry-free AST and rendered as pure-vnode SVG through @jarenjs/view — SSR-able, structurally shared, themeable via host-linked tokens","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"readme":"# @jarenjs/charts\n\n**Headless charts** for the jaren suite: a chart definition plus its\ndata compiled to a **geometry-free AST** and rendered as **pure-vnode\nSVG** through [`@jarenjs/view`](../../packages/view) — no `innerHTML`,\nno browser, no third-party chart library. Thirteen types: `pie` (with a\ndonut variant), `bar` (grouped/stacked, vertical/horizontal,\nlinear/log), `line` (linear/time/log, the streaming-critical type),\n`scatter` (log axes, win/loss tones, reference line), `candlestick`\n(OHLC on a time axis), `radar`, `gauge`, `boxplot` (raw samples or\nfive-number summaries, Tukey whiskers), `heatmap` (sequential blue\nramp, linear or log), `treemap` (squarified), `streamgraph`\n(silhouette baseline), `sankey` (layered flows, cycle-safe) and `map`\n(GeoJSON in Web Mercator, shaded by a feature property). Like\n[`@jarenjs/mermaid`](../mermaid), it ships in **two layers**: a pure\nengine (definition + data ⇄ AST ⇄ vnode) that knows only the vnode\nshape, and a visual component that packages it for an `@jarenjs/app`\nhost.\n\n## A chart in one glance\n\n```js\nimport { compileChart } from '@jarenjs/charts';\n\nconst compiled = compileChart({\n  type: 'pie',\n  title: 'Pets',\n  slices: [\n    { label: 'Dogs', value: 40 },\n    { label: 'Cats', value: 25 },\n    { label: 'Birds', value: 10 },\n  ],\n});\n\ncompiled.ast;           // geometry-free: fractions and angles, no pixels\ncompiled.toVnode();     // ['svg', { viewBox, … }, …] — a pure-vnode SVG\ncompiled.toSvgString(); // standalone SVG text (SSR), colors baked in\n```\n\n`config` carries the type and presentation fields; the data fields\n(`slices`, …) default to the same object, so one self-contained\ndefinition document works — while streaming callers pass live data as a\nseparate second argument: `compileChart(config, adapter.getData())`.\n\n## The component (for `@jarenjs/app` hosts)\n\n```js\nimport { createChartComponent } from '@jarenjs/charts/component';\n\nconst charts = createChartComponent({ theme: 'host' });\ncreateApp(appDoc, {\n  viewModel: (state) => ({ ...state, chart: charts.view(state.config, state.data) }),\n});\n```\n\n`view()` memoizes on the **data object's identity** (a WeakMap): the\nsame `(config, data)` pair returns a reference-equal vnode, so an\nunchanged chart patches in O(1); a fresh streaming snapshot re-renders.\n\n## The definition shapes\n\nEvery type reads its data from the definition document (or the\nseparate `data` argument). The type-specific fields, briefly:\n\n| type | data fields |\n|---|---|\n| `pie` | `slices: [{label, value}]`; `donut: true` or a hole fraction in (0, 1) |\n| `bar` | `categories`, `series: [{name, values}]`; `stacked`, `log`, `orient` |\n| `line` | `series: [{name, points: [{x, y}]}]`; `x: 'time'`, `log`, `markers` |\n| `scatter` | `points: [{x, y, tone?}]`; `xLog`/`yLog`, `refY`/`refLabel` |\n| `candlestick` | `candles: [{t, open, high, low, close}]` |\n\n**Time axes.** An `x: 'time'` axis (and every `candlestick`) accepts epoch milliseconds, a `Date`, or an **RFC 3339 string** — a date in a JSON document plots without being pre-converted, and a bare `2026-07-27` reads as UTC midnight. A *numeric* string still does not coerce: accepting `\"5\"` where the config asked for a number is a type confusion, not a date.\n\nTicks land on calendar boundaries rather than on the 1/2/5 ladder, because a quantity axis and a clock have different nice numbers — the ladder puts ticks 50 seconds or 8.64 days apart, which no reader converts back into a time. Steps come from a clock/calendar ladder (1/5/15/30 seconds and minutes, 1/3/6/12 hours, 1/2 days, 1/2 weeks, 1/3/6 months, years, then whole years on the 1/2/5 × 10^k ladder above that), each tick lands on a multiple of its own step, and the label granularity follows the step, so an axis never repeats one string on every tick:\n\n```javascript\naxisTicksTime(Date.UTC(2024, 0, 1), Date.UTC(2027, 0, 1));  // → 2024, 2025, 2026, 2027\naxisTicksTime(Date.UTC(2026, 6, 27, 0), Date.UTC(2026, 6, 27, 6));  // → 00:00 … 06:00\naxisTicksTime(Date.UTC(1970, 0, 1), Date.UTC(5000, 0, 1));  // → 2000, 3000, 4000, 5000\n```\n\n`axisTicksTime`, `niceTimeStep`, `axisTicksLinear` and `niceStep` are the kernel's (`@jarenjs/core/dates`, `@jarenjs/core/math`) and are re-exported here as part of this module's tick vocabulary: a timeline that is not a chart wants the same boundaries, and a second copy of either ladder would be a second set of answers.\n| `radar` | `axes: string[]`, `series: [{name, values}]`; `max` pins the domain, `labelEvery` the spoke-label stride |\n| `gauge` | `value`; `min`/`max` (0..100 default), `unit`, `tone` |\n| `boxplot` | `boxes: [{label, values}]` raw, or `{label, min, q1, med, q3, max, outliers?}` |\n| `heatmap` | `xLabels`, `yLabels`, `values[yi][xi]` (row-major from the top); `log` |\n| `treemap` | `items: [{label, value}]` or `[{label, children: [{label, value}]}]`; `aspect` (default 1.6) |\n| `streamgraph` | `series: [{name, values}]`, optional numeric `xs` |\n| `sankey` | `links: [{source, target, value}]` by name or index; `nodes` optional |\n\nThe full contract is `schemas/chart-definition.schema.json`.\n\n## Hover text and tooltips\n\nEvery value-carrying mark — slice, bar, dot, candle, cell, tile,\nribbon, band, series — renders a `<title>` child naming it and its\nexact value. That is native hover text: it works in a static\n`toSvgString()` document with no script, no CSS and no app, so it is\nalways on. Marks report the datum, not the axis's rounded tick scale,\nwhich is the only way to read a value back off a log axis.\n\nFor a positioned, styled tooltip instead, ask for **bindings**:\n\n```js\nconst compiled = compileChart(config, data, {\n  tooltip: { action: 'chartHover', leaveAction: 'chartLeave' },\n});\n```\n\nEach mark then carries an `on` binding (VIEW-FORMAT §4) naming that\naction, with the mark's descriptor as the payload and the pointer's\n`clientX`/`clientY` requested as `$event` fields. Bindings are plain\nJSON built at render time — the engine names an action, it never calls\none — and `renderToString` drops `on`, so the SSR bytes do not change.\nThe `@jarenjs/app` half is three lines and a projection:\n\n```js\nconst charts = createChartComponent({ theme: 'host', tooltip: { action: 'chartHover', leaveAction: 'chartLeave' } });\n// action chartHover: { \"tip\": { \"text\": \"$payload.text\", \"x\": \"$event.clientX\", \"y\": \"$event.clientY\" } }\n// action chartLeave: { \"tip\": null }\n// viewModel:         (state) => ({ ...state, tip: tooltipView(state.tip) })\n```\n\n`tooltipView` (from `@jarenjs/charts/component`) returns the floating\nbox positioned at those viewport coordinates; `styles/charts.css`\ncarries its `.chart-tooltip` rules.\n\n## Scales, axes, palette\n\nThe core primitives are exported for reuse; scales are pure\n`domain -> (value) => [0,1]` closures and axes generate nice-number\nticks (`1/2/5 × 10^k`) or log decades:\n\n```js\nimport {\n  scaleLinear, scaleLog, scaleBand, scaleTime,\n  axisTicksLinear, axisTicksLog, CATEGORICAL, SEQUENTIAL,\n} from '@jarenjs/charts';\n```\n\nThe categorical palette is a concrete constant in the suite's anchor\norder (blue first, amber second, teal third — no pink, no purple, per\nthe repo's docs/DESIGN.md), and `SEQUENTIAL` is its magnitude counterpart:\na single-hue blue ramp, light→dark, sampled continuously by\n`sequentialColor(t)` (the heatmap's cell fill). The semantic tokens\n(text/grid/axis, win/loss) resolve through the shared `resolveTheme`\nkernel and can be host-linked with `theme: 'host'`, so charts follow\nthe site's light/dark flip live without a re-render.\n\n### A time axis in a language\n\nA time axis labels its ticks by the granularity of the step they were\nlaid on — `HH:mm:ss`, `HH:mm`, `yyyy-MM-dd`, `yyyy-MM`, `yyyy` (the\n`TIME_TICK_FORMATS` constant). Those are numeric, so nothing on a\ndefault axis is mistranslated and nothing on it needs a language. A\n`line` (with `x: 'time'`) or `candlestick` definition that wants month\nor weekday names carries two flat members beside `x` and `xLabel`:\n`timeFormats`, LDML patterns keyed by step granularity (`second`,\n`minute`, `day`, `month`, `year`; an omitted member keeps its default),\nand `dateNames`, the same `DateNames` record the Mermaid Gantt takes —\nexactly what `@jarenjs/locales`' `compileDateLocale(pack).names`\nproduces:\n\n```js\nimport { compileChart } from '@jarenjs/charts';\nimport { compileDateLocale, nl } from '@jarenjs/locales';\n\nconst chart = compileChart({\n  type: 'line', x: 'time',\n  dateNames: compileDateLocale(nl).names,\n  timeFormats: { day: 'EEEE d MMMM' },\n  series: [{ name: 'a', points: [\n    { x: '2026-07-20', y: 1 }, { x: '2026-07-24', y: 3 }, { x: '2026-07-29', y: 2 },\n  ] }],\n});\nchart.toSvgString(); // the ticks read 'maandag 20 juli', 'woensdag 22 juli', 'vrijdag 24 juli', …\n```\n\nBoth members are data: they serialise with the definition, validate\nagainst the schema, and two charts on one page carry two records\nwithout touching each other. The five patterns are compiled **once per\nbuild** (`compileTimeTickFormat`, exported for a caller labelling its\nown axis), never per label, so a two-hundred-tick axis costs five\ncompilations; a definition with neither member compiles nothing at all\nand labels exactly as `formatTimeTick` does.\n\n**Without a record a name token is a compile error, not a silent English\nfallback.** This engine ships no month or weekday names of its own, so\n`timeFormats: { day: 'EEEE d MMMM' }` with no `dateNames` throws a\n`TypeError` naming the member and the way out — the same rule, in the\nsame words, as the Gantt's `axisFormat %B`. A numeric pattern needs no\nrecord. No ambient locale is ever read: the record is supplied or\nabsent, never inferred.\n\n## Streaming (the adapter)\n\n`@jarenjs/charts/stream-adapter` turns the unified reader events of\n[`@jarenjs/josl`](../../packages/josl)'s streaming readers into chart\ndata — it consumes **events, never a reader**, so this package has no\nparser dependency and any event source with the same `pair` shape\nworks:\n\n```js\nimport { createJsonxStreamReader } from '@jarenjs/josl/jsonx-stream';\nimport { createStreamAdapter } from '@jarenjs/charts/stream-adapter';\nimport { compileChart } from '@jarenjs/charts';\n\nconst adapter = createStreamAdapter('line', {\n  recordPath: ['run'],          // records live at {\"run\": [...]} / [[run]]\n  xField: 'i', yField: 'ops', seriesField: 'suite',\n  maxPoints: 200,               // ring-buffer eviction\n});\nconst reader = createJsonxStreamReader({ mode: 'json', onEvent: adapter.onEvent });\n\nfor await (const chunk of feed) {          // chunks may split ANY token\n  reader.feed(chunk);\n  render(compileChart({ type: 'line' }, adapter.getData()).toVnode());\n}\nreader.end();\nadapter.endDocument();\n```\n\nTwo record boundaries cover the two streaming shapes: `'path'` (one\nlarge document arriving in chunks — records close when the event path\nleaves them) and `'document'` (many small complete documents, e.g. one\nWebSocket message each — `endDocument()` closes the record;\n`abortDocument()` discards a malformed one). Six accumulators:\n\n| type | what a record contributes | fields |\n|---|---|---|\n| `line` | a point on a series, ring-buffer evicted | `xField`, `yField`, `seriesField` |\n| `bar` | +1 (or `+yField`) on a category | `xField`, `yField?` |\n| `heatmap` | the same, under two grouping keys | `xField` (column), `seriesField` (row), `yField?` |\n| `gauge` | the latest reading; nothing is kept | `yField` |\n| `candlestick` | a candle keyed by open time; a re-delivered key replaces it (exchange kline semantics) | `xField`, `openField`… |\n| `map` | a whole GeoJSON Feature, projected and simplified on arrival | `labelField?`, `valueField?`, `simplify?`, `aspect?` |\n\nA heatmap cell nobody measured stays `null` rather than `0` — the\nsurface shows through, which is the honest rendering of \"no\nmeasurement\" — and a gauge with no reading yet is `null`, not zero.\n\nThe `map` accumulator is the odd one out: its record is not flat pair\nfields but a complete Feature, consumed from the reader's `object-end`\nevents at `recordPath + [index]` (default `['features']`) — pair the\nreader with `detach: ['features', '*']` so the document root retains\nnothing and the accumulator's reduced set is the only retention. Each\nfeature's geometry is simplified **on arrival** to the vertices a\ndrawing of the current extent could distinguish, so memory is bounded\nby the drawn detail rather than the source detail. The projection\ncannot be fitted before the last feature has been seen, so the design\nis refit-on-growth: the running bbox sets the tolerance, and when it\ngrows enough to double it, the kept features are coarsened once against\nthe new extent (never re-read — early features can only be finer than\nneeded, not wrong). `simplify: false` keeps every vertex, which unbounds\nmemory again; `test/charts/map-stream.test.js` pins the reduction, the\nrefit and the change-feed replay.\n\n## Incremental sessions (O(1) ticks)\n\nA snapshot re-render is O(n): every point is re-projected because a\nunit-space AST stores positions as *fractions of the domain*, so a\ntick that moves the scales legitimately changes every mark. Declare a\n**domain policy** and most ticks stop moving them — then\n`createChartSession` patches only what changed:\n\n```js\nconst adapter = createStreamAdapter('line', { …, changes: true });\nconst session = createChartSession({\n  type: 'line',\n  domain: { y: 'step', x: { window: 60_000, slide: 15_000 } },\n}, adapter);\n\nreader.feed(chunk);\nconst { vnode, mode } = session.tick();  // 'incremental' | 'rebuilt' | 'unchanged'\n```\n\n`{ changes: true }` makes the adapter buffer its mutations as RFC 6902\nops (`takeChanges()`); the session applies them to the previous AST and\nrebuilds only the touched series — every other child stays\n**reference-equal**, so the patcher skips it in O(1). Domain policies:\n\n| policy | effect |\n|---|---|\n| `x: { window, slide }` | sliding window whose end is quantized to `slide` — the domain moves once per quantum, not per sample |\n| `y: { min, max }` | pinned bounds; out-of-range samples clamp to the plot edge |\n| `y: 'step'` | bounds snap outward to nice-number steps (decades under `log`) |\n\n**The fallback is the design, not a failure mode.** When the domain\n*does* move — or a new series appears, or the source resets — the\nsession rebuilds wholesale, because that is the correct rendering of a\nframe whose scales moved. `mode` reports which path ran. The\ncorrectness contract is byte equality: every tick's vnode serializes\nidentically to a wholesale `compileChart()` of the same data, which is\nproperty-tested over thousands of random frames rather than assumed.\nLine sources containing series without an array of `points` also rebuild\non changes: compilation filters those series, so source change indices\nno longer match the rendered series indices.\n\nMeasured (`npm run benchmark:charts`, one appended point):\n\n<!--fact:charts.sessionTable-->\n| points × series | session tick | wholesale tick | frames incremental |\n|---|---:|---:|---:|\n| 100 × 5 | 5.82 µs | 306 µs | 1100 of 1100 |\n| 1,000 × 5 | 5.5 µs | 1 ms | 1100 of 1100 |\n| 10,000 × 5 | 7.9 µs | 8.41 ms | 1100 of 1100 |\n| 10,000 × 5 *(sampled)* | 2.5 ms | 2.52 ms | 0 of 1100 |\n<!--/fact-->\n\nThe session tick is *flat* in n — it\nmoves <!--fact:charts.sessionFlatness-->1.4× while the wholesale tick grows 27.4×<!--/fact-->. Supported types: `line` (appends\nand ring-buffer evictions), `bar` (live counts and sums) and\n`candlestick` (keyed kline upserts — one candle group re-renders). The\nwebsite's Binance demo runs on it.\n\nThe first three rows are lines the **sampler is not choosing the points\nof** (see below). A session over a time line above two thousand points\nrebuilds every frame by design — one appended reading can change which\nvertices the downsampler picks, anywhere on the line — and that rebuild\ncosts *more* than the wholesale render it replaces, because it scans the\nextremes a second time. That is the last row, and it is the price of the\ndefault: a long live line declares `sampling: false`, which is exactly\nwhat the three rows before it are.\n\nA bar chart's stillness test is the nice-number top rather than a\ndeclared policy: a count below it repaints one rect, a count that\npushes the axis higher rebuilds. A new category rebuilds too — every\nband width and position moves with it — and so does a stacked chart,\nwhere one value shifts every bar above it in its category.\n\n| categories | session tick | wholesale tick |\n|---|---|---|\n| 20 | ~5.7 µs | ~33 µs |\n| 200 | ~11 µs | ~137 µs |\n\nOnly the *vnode* work is O(1) there — one rect re-emitted instead of\nall of them. The stillness test still rescans every category (a count\nthat drops can retire the tallest bar, so extremes cannot be extended)\nand the adapter rebuilds its snapshot arrays, so the bar session's tick\ndoes grow with the category count. It grows about 2× where the\nwholesale render grows about 4×; the line session's flatness is the\nstronger claim, and this is deliberately the weaker one.\n\n## Sampling a big line\n\nA hundred thousand readings on a line five hundred pixels wide is two\nhundred readings per column. Something has to choose, and the only\nquestion is whether the choosing is visible.\n\nAbove **two thousand source points** a **time** line is reduced through\n`downsampleSeries` from `@jarenjs/core/series` — the same kernel a query\nand a database call, so a chart cannot disagree with the rest of the\nsuite about what a gap is or where a series ends. Everything smaller,\nand every non-time line, is the AST the previous version built, point\nfor point.\n\n```js\ncompileChart({ type: 'line', x: 'time' }, data);                  // LTTB above 2 000\ncompileChart({ type: 'line', x: 'time', sampling: false }, data); // draw every point\ncompileChart({ type: 'line', x: 'time', sampling: 'minmax' }, data);\ncompileChart({ type: 'line', x: 'time',\n  sampling: { method: 'lttb', target: 800 } }, data);             // an explicit budget\n```\n\nThe default budget is a function of the **declared** width\n(`sampling: { width, pixelRatio }`, default 560 × 1, clamped to\n64…8 192) and never of a measured element — nothing in this package\nreads a layout, so an SSR render and a browser render of one definition\nare the same bytes. An explicit `target` fixes it outright.\n\n`ast.sampling` reports what happened: `{ method, target, sourceCount,\nrenderedCount }`, or `null` when every point is drawn. What the sampled\nline still promises is the kernel's: every segment's **ends** survive,\nevery run of gaps keeps a marker and is never bridged, `minmax` keeps\nthe envelope exactly, and no vertex carries an instant that no reading\nhad. The domain is scanned from every **source** point, so the axis\nreports the data rather than the drawing.\n\nMeasured (`npm run benchmark:charts`, one series):\n\n<!--fact:charts.samplingTable-->\n| source points | drawn | method | source → AST | source → svg |\n|---:|---:|---|---:|---:|\n| 2,000 | 2,000 | none | 77.1 µs → 71.5 µs | 512 µs → 518 µs |\n| 20,000 | 560 | lttb | 672 µs → 911 µs | 5.94 ms → 1.06 ms |\n| 100,000 | 560 | lttb | 4.08 ms → 5.33 ms | 28.3 ms → 6.61 ms |\n<!--/fact-->\n\nChoosing the points costs about what mapping them costs — the sampler\nreads every reading either way — so the AST column is a small **loss**.\nWhat it buys is the render — <!--fact:charts.samplingWin-->100,000 points draw as 560 and render 4.3× faster<!--/fact-->. The invariants above are asserted in the benchmark\nbefore a single timing is printed.\n\n**Sampling is not retention.** `createStreamAdapter`'s `maxPoints`\ndecides what *exists*; sampling decides what is *drawn*, over whatever\nexists. Changing one leaves the other untouched, and a chart can switch\nmethod or turn sampling off without the adapter noticing.\n\n## Mermaid interop\n\n`@jarenjs/mermaid` delegates its `pie` diagrams here (the arrow is\nmermaid → charts, never the reverse); the\n`@jarenjs/charts/transforms/mermaid-adapter` transform maps a mermaid\npie AST onto `compileChart` inputs.\n\n## Validation\n\n`schemas/chart-definition.schema.json` describes the definition\ndocument; validate untrusted definitions with `@jarenjs/validate`\nbefore compiling.\n\n## Exports\n\nEvery subpath a consumer can import, derived from the manifest by\n`npm run docs:derive` (`npm run docs:check` fails when the two drift):\n\n<!--fact:exports.charts-->\n| Import | Kind | Declarations |\n|---|---|---|\n| `@jarenjs/charts` | JavaScript | declared |\n| `@jarenjs/charts/component` | JavaScript | declared |\n| `@jarenjs/charts/stream-adapter` | JavaScript | declared |\n| `@jarenjs/charts/transforms/mermaid-adapter` | JavaScript | declared |\n| `@jarenjs/charts/transforms/benchmark-adapter` | JavaScript | declared |\n| `@jarenjs/charts/styles/charts.css` | asset | — |\n| `@jarenjs/charts/schemas/chart-definition.schema.json` | schema | — |\n| `@jarenjs/charts/package.json` | metadata | — |\n| `@jarenjs/charts/transforms/finance-adapter` | JavaScript | declared |\n<!--/fact-->\n\nAuthor definitions in code with the typed [chart pen](../../packages/linq/docs/CHARTS-PEN.md),\nthen pass its `.schema` directly to `compileChart`.\n\n`@jarenjs/charts/transforms/finance-adapter` exports `financeCharts(samples,\n{periodsPerYear, period?, signalPeriod?, sessions?, target?, benchmark?})`.\nEach sample supplies `{t, high, low, close, volume}` with a finite timestamp and\npositive close. It returns eleven separate named indicator chart pairs and a risk\nsummary; null warm-up points are omitted and timestamps are preserved. Units are\nkept in separate charts. The optional benchmark is a return series aligned to the\nprice-derived returns. Formula/period conventions are in\n[core finance](../../packages/core/docs/FINANCE.md).\n","readmeFilename":"README.md"}