{"_id":"apexsankey","_rev":"23-cc36882ff744ad6e15548e2e2c59c7e6","name":"apexsankey","dist-tags":{"latest":"1.12.2"},"versions":{"1.0.0":{"name":"apexsankey","version":"1.0.0","_id":"apexsankey@1.0.0","dist":{"shasum":"54423b39c65e4a3f8676374829eb86ffbb9dfd42","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.0.0.tgz","fileCount":41,"integrity":"sha512-4nNYYnszgwTVNmEqcgEBp/EOiaMekY3qmFeaF8Kxpj8OZat9t03VdsJLxInoc+xzLFtY0MXwdU3s9PNeYt+BZw==","signatures":[{"sig":"MEQCIGK7xJQGpgmy76zV1br1SX14I8tVojnYxchfpFQgID15AiBcGs+YjkDhYKTFhfa2jBYOy9z7IC20NN5eYJsjIeRo8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":796658},"main":"./apexsankey.js","type":"module","module":"./apexsankey.es.js","exports":{".":{"import":"./apexsankey.es.js","require":"./apexsankey.js"}},"gitHead":"3e8d96fb9d609d2d3c0107f4f5316ef08a3b1530","typings":"./index.d.ts","_npmUser":{"name":"junedchhipa","email":"info@apexcharts.com"},"_npmVersion":"10.7.0","description":"The ApexSankey is a javascript library built on SVG that helps to create organizational or hierarchical charts.","directories":{},"_nodeVersion":"22.2.0","dependencies":{"lodash":"^4.17.21","defined":"^1.0.1","graphlib":"~2.1.0","@svgdotjs/svg.js":"^3.2.0","@svgdotjs/svg.panzoom.js":"^2.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.0.0_1719661188284_0.0017639569586185289","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"apexsankey","version":"1.1.0","_id":"apexsankey@1.1.0","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"dist":{"shasum":"db49f1246971f139b3537fd2cbf82929406b73f3","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.1.0.tgz","fileCount":42,"integrity":"sha512-HbhbD07Wg8+a05U2327+QLfNU0XcJMkwSTgtHWqHy7dX5ZNr2+8RGMPCA0zAHtCtYvOuOPgr7vtU08N0T1nXUA==","signatures":[{"sig":"MEYCIQD83IRwJCxA1pvl8UfjE5+/8BT6h4Gig76dvrhjzQ7V2QIhAKrWzbeUTbiUz4EuJE9L1Oe9fJJoTNE5OVD7HUHG5okf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":806845},"main":"./apexsankey.min.js","type":"module","module":"./apexsankey.es.min.js","exports":{".":{"import":"./apexsankey.es.min.js","require":"./apexsankey.min.js"}},"gitHead":"4d6748883557b4ff1ab43b7988cb3bcd661b2cd5","typings":"./index.d.ts","_npmUser":{"name":"junedchhipa","email":"info@apexcharts.com"},"_npmVersion":"10.7.0","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"22.2.0","dependencies":{"lodash":"^4.17.21","defined":"^1.0.1","graphlib":"~2.1.0","@svgdotjs/svg.js":"^3.2.0","@svgdotjs/svg.panzoom.js":"^2.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.1.0_1723571610053_0.8070280856658034","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"apexsankey","version":"1.1.1","_id":"apexsankey@1.1.1","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"dist":{"shasum":"ba96721f180a3776b7ecf67d049bfc6e2ec16dff","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.1.1.tgz","fileCount":42,"integrity":"sha512-MbmljoLmitzyT72sak2c8XE1koql/QkQCd4861reSc/JcYZ4ocIPK+GE8ViGbbgpOhBWsBfXBt41iAdUkan21A==","signatures":[{"sig":"MEUCIA+MFvkaJzLGLKhHeVbUBas6Y94FP3IoXFWQYX2IVn2IAiEArOZMj/Rt7hOq2AVgyTZixKBlPu5LE9zjzlayIv5WDfw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":807973},"main":"./apexsankey.min.js","type":"module","module":"./apexsankey.es.min.js","exports":{".":{"import":"./apexsankey.es.min.js","require":"./apexsankey.min.js"}},"gitHead":"d506ec310d017bc5a34bc6dc53bc85aa6356b761","typings":"./index.d.ts","_npmUser":{"name":"junedchhipa","email":"info@apexcharts.com"},"_npmVersion":"10.7.0","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"22.2.0","dependencies":{"lodash":"^4.17.21","defined":"^1.0.1","graphlib":"~2.1.0","@svgdotjs/svg.js":"^3.2.0","@svgdotjs/svg.panzoom.js":"^2.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.1.1_1724006951571_0.31086144134518534","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"apexsankey","version":"1.1.2","_id":"apexsankey@1.1.2","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"dist":{"shasum":"1c47f87bbe82a1e0a41b4ed5944043e0f8564fcc","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.1.2.tgz","fileCount":42,"integrity":"sha512-ggRnSCW/18Dk5z5FHV4cZHuu656NNeiCcFde+DbAhmjPXgiEfKRduAU7pclg0JcxnlH67jUGBby9l7HmGyO2+g==","signatures":[{"sig":"MEUCIQC3NRDijc0gZ1rXJdoO4MD0slRr/rnX+u+fSZhDRslt3QIgWyRhqt9IT67qyAb76o3qoiTSdwjWg1SYNOFUYzqWj5U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":808433},"main":"./apexsankey.min.js","type":"module","module":"./apexsankey.es.min.js","exports":{".":{"import":"./apexsankey.es.min.js","require":"./apexsankey.min.js"}},"gitHead":"5392bc73bb464ae69a2c5034eb2ad90c48b677c2","typings":"./index.d.ts","_npmUser":{"name":"junedchhipa","email":"info@apexcharts.com"},"_npmVersion":"10.7.0","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"22.2.0","dependencies":{"lodash":"^4.17.21","defined":"^1.0.1","graphlib":"~2.1.0","@svgdotjs/svg.js":"^3.2.0","@svgdotjs/svg.panzoom.js":"^2.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.1.2_1724175814812_0.15531254658447446","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"apexsankey","version":"1.1.3","_id":"apexsankey@1.1.3","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"dist":{"shasum":"36b4898a45e0ffec90d13da3442bf57de8d76c15","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.1.3.tgz","fileCount":42,"integrity":"sha512-peB2NMqwcyOT/6Xaypz5WD5a72NUMATLRowR32G1wH1tCzrDx9LWvF7xD6v/WV4fE6l+uAOJ00wB94uwq5XpwA==","signatures":[{"sig":"MEQCIG+1MeyxQJF9kQbjfwWqrWnsRW1Pq20wqfaF93sNH2fqAiBMVLQt1fASxx88zdByoCu//C9dKy0g3/keM5soB0XbJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1362179},"main":"./apexsankey.min.js","type":"module","module":"./apexsankey.es.min.js","exports":{".":{"import":"./apexsankey.es.min.js","require":"./apexsankey.min.js"}},"gitHead":"4a1f9d10de3562e41b45021298b6757b3f3c4f6e","typings":"./index.d.ts","_npmUser":{"name":"junedchhipa","email":"info@apexcharts.com"},"_npmVersion":"10.7.0","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"22.2.0","dependencies":{"lodash":"^4.17.21","defined":"^1.0.1","graphlib":"~2.1.0","@svgdotjs/svg.js":"^3.2.0","@apex/graph-utils":"*","@svgdotjs/svg.panzoom.js":"^2.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.1.3_1734853127400_0.1787343912714321","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"apexsankey","version":"1.2.0","_id":"apexsankey@1.2.0","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"dist":{"shasum":"29232b616c1d3d5a943a452592a247272b80d8f5","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.2.0.tgz","fileCount":42,"integrity":"sha512-iL+2xcOND+NFfc3qw4u47e0+zHYlQTuaWIHGOyd61hJxlA22MH3CFvru6lOlN9KoP3fKzpy3ksklHrLh+UJj5Q==","signatures":[{"sig":"MEUCIG/vZLlXkStPycTqZR4fVYpGtuH69Y7b95Lr3trZsyHqAiEA2Zw20aqFP2A/XfDjsAjxrn2Uyg/25R6MambCwQBOK2Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":377354},"main":"./apexsankey.min.js","type":"module","types":"./index.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./index.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./index.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"a63490e93c027f5a944e28503ce5ad197421835a","_npmUser":{"name":"junedchhipa","email":"info@apexcharts.com"},"_npmVersion":"10.7.0","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"22.2.0","dependencies":{"lodash":"^4.17.21","defined":"^1.0.1","graphlib":"~2.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"@apex/graph-utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.2.0_1734954692315_0.6956032557323371","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"apexsankey","version":"1.2.1","_id":"apexsankey@1.2.1","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"dist":{"shasum":"a451db6d282f16b38ae66c1a1047a0abedcfa08e","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.2.1.tgz","fileCount":42,"integrity":"sha512-faBDLZqyi5gObU78JMiVuIWeSXt3Ya4Vmm//TycUp+sBI8u10lT0Wsynh0nuRWhHEmQZnwBUyWXPFDmk2UNW9Q==","signatures":[{"sig":"MEUCIQDcCzhaLWqIm3mKEGvbt3POn8YALHtv5w9AxDVM9j24fgIgMSGn6n95EEX7IVCdiJh3ZR05tsTeTcuM1hLqPKx4XrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":663639},"main":"./apexsankey.min.js","type":"module","types":"./index.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./index.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./index.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"273fd7b8937def653c36d17c7730e3f79107dca4","_npmUser":{"name":"junedchhipa","actor":{"name":"junedchhipa","type":"user","email":"info@apexcharts.com"},"email":"info@apexcharts.com"},"_npmVersion":"11.3.0","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"24.2.0","dependencies":{"lodash":"^4.17.21","defined":"^1.0.1","graphlib":"~2.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.2.1_1750595202311_0.46445468182526506","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"apexsankey","version":"1.2.4","license":"See License in LICENSE","_id":"apexsankey@1.2.4","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"dist":{"shasum":"12f76f4d8be33cc8446c81287a9b9c3f814bb3c3","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.2.4.tgz","fileCount":48,"integrity":"sha512-yS3W75yTUjy5k7m4cT53azjTolATIAmPZzAKw0xad5xtQmITqj4bvAiXHl/1/uaODI0Vnjr+kqKbm2HpzqI7ug==","signatures":[{"sig":"MEUCIHyOtFlIt3VtpxCnfacEytwP+CQpwCZBU2pE/IcPKUCmAiEAqNNVIuL9E/GbOh+6to0dc5DYWyPWcuYRBpjek/znCBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":667601},"main":"./apexsankey.min.js","type":"module","types":"./index.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./index.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./index.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"7fd885779d2013ec60899180de9cee4c19a39200","scripts":{"prepare":"husky","release":"standard-version --no-tag"},"_npmUser":{"name":"junedchhipa","email":"info@apexcharts.com"},"_npmVersion":"10.8.2","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"20.19.4","dependencies":{"lodash":"^4.17.21","defined":"^1.0.1","graphlib":"~2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","commitlint":"^19.8.1","@commitlint/cli":"^19.8.1","standard-version":"^9.5.0","@commitlint/config-conventional":"^19.8.1"},"standard-version":{"skip":{"tag":true}},"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.2.4_1753695473568_0.977108305810052","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"apexsankey","version":"1.2.5","license":"See LICENSE in LICENSE","_id":"apexsankey@1.2.5","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"dist":{"shasum":"19504f943a755f4ac3f07d4c0d12a4c49128706e","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.2.5.tgz","fileCount":45,"integrity":"sha512-dTja+3+ywSq6zen1zNb7R/Sk9V0oKo0Qy0fpCtFJUfeLSE9TuXx7yqzCGD3RQjsz138aTYRiyjJ/rq8ZW528nw==","signatures":[{"sig":"MEYCIQCOpgL3hAKn7KIR+A+MH2KWFjn7JLb+MOJrDVciSA5j/wIhAIAFi4s89j9tFfO8INmMmIpil+b0Az3B3j/sLZrOwKc6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":675108},"main":"./apexsankey.min.js","type":"module","types":"./index.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./index.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./index.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"f5c42867c2e8bb175df81035d764ba3176e06ebc","_npmUser":{"name":"junedchhipa","email":"info@apexcharts.com"},"_npmVersion":"10.8.2","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"20.19.5","dependencies":{"lodash":"^4.17.21","defined":"^1.0.1","graphlib":"~2.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.2.5_1757680044887_0.9384877525292674","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"apexsankey","version":"1.3.0","license":"See LICENSE in LICENSE","_id":"apexsankey@1.3.0","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"dist":{"shasum":"813769c1a98260b79e6a9ec0b8f810e2b4a6c9e5","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.3.0.tgz","fileCount":45,"integrity":"sha512-JcxLm4U6qPIDVhVd5d+oC6p0w47DD2AOJ7mrRdr/Gl4Ap/7hkWQncVqUBeRZkQ4NGHr0bJMo3fPWPWTKuM85pA==","signatures":[{"sig":"MEUCIQDUyodKeI7JjbIksHzuijpV+RbIBxLCaYd7YdE2hogg0gIgL8w2JRGa9jPCIZkMwTObxtgO/eIkIcxo5Zl9MthSBUY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":409591},"main":"./apexsankey.min.js","type":"module","types":"./index.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./index.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./index.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"d45a685be42f23cec144d7950670f102c5f77e33","_npmUser":{"name":"junedchhipa","email":"info@apexcharts.com"},"_npmVersion":"10.8.2","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"20.19.6","dependencies":{"lodash":"^4.17.21","defined":"^1.0.1","graphlib":"~2.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.3.0_1767700227689_0.0014593450342128556","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"apexsankey","version":"1.4.0","license":"See LICENSE in LICENSE","_id":"apexsankey@1.4.0","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"dist":{"shasum":"a7add5bf1b9253c9b64082d52e94b888e5d66729","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.4.0.tgz","fileCount":45,"integrity":"sha512-n7icho5rywxwx5CyGAH7OUSlCA6WFKTlttbWEFfrfVpwPX1z0beLBFUuFSFs3XslYtpbNyD4Eo3S64/WX4KZAQ==","signatures":[{"sig":"MEYCIQCpFDKQN6b1IMXPJ7T/kr50z2VjsnpRdiJA+HNJxynqQAIhANRvalk1yKJ0KtTfLG+6RF+a7XfkYMQ1qp/35JfJkGwm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410889},"main":"./apexsankey.min.js","type":"module","types":"./index.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./index.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./index.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"72495a6bd6220d7d393ef38e420c97b3f90c0bb5","_npmUser":{"name":"junedchhipa","email":"info@apexcharts.com"},"_npmVersion":"10.8.2","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"20.20.0","dependencies":{"lodash":"^4.17.21","defined":"^1.0.1","graphlib":"~2.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.4.0_1769692919201_0.2533067244017184","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"apexsankey","version":"1.5.0","license":"See LICENSE in LICENSE","_id":"apexsankey@1.5.0","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"dist":{"shasum":"e8f72ced0ab20baabd2c5db3042a35e8683c5dea","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.5.0.tgz","fileCount":45,"integrity":"sha512-aPzhRBa9u5fadHu2HY8fhPIQCu83Yuv6VX8P+qGEBDB73blmujSTkEdR7ENoUquf8f1nDlLrYuKRx79hgWcaoQ==","signatures":[{"sig":"MEYCIQDbagpnDopF8ltL5bSUzVEDP6mZg6B0amAWmcVoqMfwLgIhAINHmO4zz+efdg/d1dMO3WPO1HuCA/9VEWZJAkMRYL/W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":264532},"main":"./apexsankey.min.js","type":"module","types":"./index.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./index.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./index.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"7fdad49e7a162ec015d5a99df7a96116dc7482df","_npmUser":{"name":"junedchhipa","email":"info@apexcharts.com"},"_npmVersion":"10.8.2","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"20.20.0","dependencies":{"lodash":"^4.17.21","defined":"^1.0.1","graphlib":"~2.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.5.0_1770203668667_0.5373351609667996","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"apexsankey","version":"1.6.0","license":"See LICENSE in LICENSE","_id":"apexsankey@1.6.0","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"homepage":"https://github.com/apexcharts/apexsankey#readme","bugs":{"url":"https://github.com/apexcharts/apexsankey/issues"},"dist":{"shasum":"b9b5ce0a326cb49f6ffa31f448b9a31ab9ef4333","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.6.0.tgz","fileCount":53,"integrity":"sha512-NgPWysMJ080C2x7WR9PACpHCaTshudari62hRWai7BPKljizAGPh/oYEYRzqRCMo3jJ4O8AHTjmcdbGbB6JCjw==","signatures":[{"sig":"MEUCIQCVUshm7YFonwnt2WTO+PZZ0T232wJngR2NnulAKkKmNQIgeYJrAqy1lmVnd+TgjYgjA21a7RNSFSdgE+pkAv7EmiI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":224186},"main":"./apexsankey.min.js","type":"module","types":"./index.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./index.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./index.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"a610470bd8858a61a19a0db589e1410c77b54dea","_npmUser":{"name":"junedchhipa","email":"info@apexcharts.com"},"repository":{"url":"git+https://github.com/apexcharts/apexsankey.git","type":"git"},"_npmVersion":"11.8.0","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"24.2.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.6.0_1773775403714_0.01911461715078766","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"apexsankey","version":"1.7.0","license":"See LICENSE in LICENSE","_id":"apexsankey@1.7.0","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"homepage":"https://github.com/apexcharts/apexsankey#readme","bugs":{"url":"https://github.com/apexcharts/apexsankey/issues"},"dist":{"shasum":"daa0d87dce833dfe4c28c02048d70a1580eda4fb","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.7.0.tgz","fileCount":14,"integrity":"sha512-YAR7I4qVYABBkhqmi6apqNmJpUrQ9YXemRaLjBQBcg5TBuApA74rbvhUE7PuHDtBZK3Ak+8hlyfcHgVcydIYVQ==","signatures":[{"sig":"MEUCIH6bHQSw14Z+TCfrVuIBUyGvNkpMTjtJ+T+hlqMFs5gjAiEAv4g4t7pIEtrf6vBl1g2vq2LdmfI+YBrGc4jVqsBNsJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/apexsankey@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":212183},"main":"./apexsankey.min.js","type":"module","types":"./apexsankey.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./apexsankey.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./apexsankey.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"c79daeef5f76e3b5d2242e9d1a805aff2a6b3139","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2ddaf660-b76b-42e5-852a-524302df28fe"}},"repository":{"url":"git+https://github.com/apexcharts/apexsankey.git","type":"git"},"_npmVersion":"11.12.1","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.7.0_1775389815527_0.16298544811776527","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"apexsankey","version":"1.7.1","license":"See LICENSE in LICENSE","_id":"apexsankey@1.7.1","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"homepage":"https://github.com/apexcharts/apexsankey#readme","bugs":{"url":"https://github.com/apexcharts/apexsankey/issues"},"dist":{"shasum":"0f58a7b14f8c4f6b73b13150012955d0dc470c3e","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.7.1.tgz","fileCount":14,"integrity":"sha512-K9G+HfQdLBMNGY0MnaT36WDBQzI5gN27paXkNMh/oB+9InAnGEymqQUSnCj3sF3eVIdolH4QzIqPspgnFTd9uQ==","signatures":[{"sig":"MEUCIEnNMuPkdWE0UcCNx4wRC25+lNArrvWMqXJCJyDpsnY9AiEAzUPwM5fwawbnfF+5JDNaiY+6UNwO4BXnNI6nb2payuQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/apexsankey@1.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":208814},"main":"./apexsankey.min.js","type":"module","types":"./apexsankey.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./apexsankey.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./apexsankey.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"796156ed437252a2d6b6fb0c60807c2796c1df9d","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2ddaf660-b76b-42e5-852a-524302df28fe"}},"repository":{"url":"git+https://github.com/apexcharts/apexsankey.git","type":"git"},"_npmVersion":"11.12.1","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.7.1_1776608718467_0.3575221975738776","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"apexsankey","version":"1.8.0","license":"See LICENSE in LICENSE","_id":"apexsankey@1.8.0","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"homepage":"https://github.com/apexcharts/apexsankey#readme","bugs":{"url":"https://github.com/apexcharts/apexsankey/issues"},"dist":{"shasum":"6bebab63e31215112ace75d50004471142ec140c","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.8.0.tgz","fileCount":14,"integrity":"sha512-rf0A+tBmqk9NZnyzCFPPtbDh8TWUbB+F3D6jFAPkCmhR2sIPTaexqm9ThYZDiuT48uuAd8XdGtou8ZOc/SXDGg==","signatures":[{"sig":"MEUCICrK1jz9QlBj8OOM/4wX5NUTRWv/xxoGcHHKT/AK+QuiAiEA7+vwSxh0GlicFdeG27AyS3hO9AYH0dK1NFv/w35Vqb4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/apexsankey@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211036},"main":"./apexsankey.min.js","type":"module","types":"./apexsankey.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./apexsankey.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./apexsankey.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"9f12eacfb72c90e34dfb8ac916d4dbd9d176bb0e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2ddaf660-b76b-42e5-852a-524302df28fe"}},"repository":{"url":"git+https://github.com/apexcharts/apexsankey.git","type":"git"},"_npmVersion":"11.16.0","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.8.0_1780759315235_0.6196638470782874","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"apexsankey","version":"1.9.0","license":"See LICENSE in LICENSE","_id":"apexsankey@1.9.0","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"homepage":"https://github.com/apexcharts/apexsankey#readme","bugs":{"url":"https://github.com/apexcharts/apexsankey/issues"},"dist":{"shasum":"f9fad6ff0948716c7367b96c2dda8b3f788cf0b2","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.9.0.tgz","fileCount":15,"integrity":"sha512-C/HDE89H6Tz6lZehUrbVNQddyChupJF2Yh6EVgSbu5eU47SSUSzO4hH0m9XQIjbF6PEx6M5UOPxQqdLsy0Wsmg==","signatures":[{"sig":"MEUCID5jb+BVN5yUaP/6bvYzsN33N8hue7wINjWtEnxw5IknAiEAljWmz7I220LKqtnrteVIKSI/KrKO3VXmTBAlhvdyLUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/apexsankey@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":229442},"main":"./apexsankey.min.js","type":"module","types":"./apexsankey.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./apexsankey.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./apexsankey.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"ab5fdabb12f37afd71eb2c04d035458852cf0a0c","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2ddaf660-b76b-42e5-852a-524302df28fe"}},"repository":{"url":"git+https://github.com/apexcharts/apexsankey.git","type":"git"},"_npmVersion":"11.18.0","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.9.0_1783258461536_0.24115474118488334","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"apexsankey","version":"1.10.0","license":"See LICENSE in LICENSE","_id":"apexsankey@1.10.0","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"homepage":"https://github.com/apexcharts/apexsankey#readme","bugs":{"url":"https://github.com/apexcharts/apexsankey/issues"},"dist":{"shasum":"8a88c4b4d95c590299826a58fe89d2149c21bed2","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.10.0.tgz","fileCount":15,"integrity":"sha512-QulWWlIPUd9IkhwRmN5a6cFX7Ixg5hgHfIGOUVjpPq0jES0TF3X2HoPWyzYieNqpe8OhjpzEUSdebeV88kZ65Q==","signatures":[{"sig":"MEQCIHNAcnGIxjjkv2mIcvglEU9s6gyn7o+zlYrO+FKp0RIjAiA8Ekxr0xbJUAvQUWYTZ09snPta/YOBh8VmcYJTDedONw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/apexsankey@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":234160},"main":"./apexsankey.min.js","type":"module","types":"./apexsankey.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./apexsankey.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./apexsankey.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"6ae1c86ac9e83812641420a1e7bfe2d6f66d32bc","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2ddaf660-b76b-42e5-852a-524302df28fe"}},"repository":{"url":"git+https://github.com/apexcharts/apexsankey.git","type":"git"},"_npmVersion":"12.0.1","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"24.18.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.10.0_1785153523000_0.03968308086228611","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"apexsankey","version":"1.11.0","license":"See LICENSE in LICENSE","_id":"apexsankey@1.11.0","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"homepage":"https://github.com/apexcharts/apexsankey#readme","bugs":{"url":"https://github.com/apexcharts/apexsankey/issues"},"dist":{"shasum":"4a97ba8386c062a5167abb9cfc2b552561131527","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.11.0.tgz","fileCount":28,"integrity":"sha512-D9AW+kVfpjRQ/SNCccp3xwdy0F5w6k9xZYuZ6WMlP6jtznFB25coPU/YZXVqlwPTFD0iuy1sCqxMs6wNTAK2dA==","signatures":[{"sig":"MEUCIBmchU6KdkpT+aLIRbxpDWqRbsz53b1PuaUXtqFoRaA2AiEAizn5T9wDUorlG/MZ51U1sH3py6x9GC1M1priladS9LU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/apexsankey@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":438322},"main":"./apexsankey.min.js","type":"module","types":"./apexsankey.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./apexsankey.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./apexsankey.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"c49cb675a762dfea58d1177a1c6ba57e368c20dc","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2ddaf660-b76b-42e5-852a-524302df28fe"}},"repository":{"url":"git+https://github.com/apexcharts/apexsankey.git","type":"git"},"_npmVersion":"12.0.2","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"24.18.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.11.0_1786352099523_0.6871018387890779","host":"s3://npm-registry-packages-npm-production"}},"1.11.1":{"name":"apexsankey","version":"1.11.1","license":"See LICENSE in LICENSE","_id":"apexsankey@1.11.1","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"homepage":"https://github.com/apexcharts/apexsankey#readme","bugs":{"url":"https://github.com/apexcharts/apexsankey/issues"},"dist":{"shasum":"c5062294caccbe389b3df6b214e408c65f6cdf6f","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.11.1.tgz","fileCount":28,"integrity":"sha512-cSF27lkPUQt/9JRjhDzN3+fuxvLVE2AizFJFUOhnsjFVzuIpprXzsL/6wkbhU0u2dlJOVht8wzHsrNLBLrsfvQ==","signatures":[{"sig":"MEUCIAHS1YG2TRsFBCwiUN0Cp6K7TGi3pFJuDYH7X0mzzBjbAiEA3JkS1fXeTR8eQogtpFtqp+i/KTOK6j52Zlb83OxCvh8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/apexsankey@1.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":441931},"main":"./apexsankey.min.js","type":"module","types":"./apexsankey.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./apexsankey.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./apexsankey.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"8ba6ad13a3b072869cce5ea07fe153de6a4049b4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2ddaf660-b76b-42e5-852a-524302df28fe"}},"repository":{"url":"git+https://github.com/apexcharts/apexsankey.git","type":"git"},"_npmVersion":"12.0.2","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"24.18.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.11.1_1786440363843_0.46439765120399623","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"apexsankey","version":"1.12.0","license":"See LICENSE in LICENSE","_id":"apexsankey@1.12.0","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"homepage":"https://github.com/apexcharts/apexsankey#readme","bugs":{"url":"https://github.com/apexcharts/apexsankey/issues"},"dist":{"shasum":"b3e3c8724fd465dcbd54ef2f6d84daf07c29c129","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.12.0.tgz","fileCount":28,"integrity":"sha512-Xd5WtqzZhH4b+TVAPaVEXI47UyNdjvTUV5Avs7Y2EuVdu8edD9z778vsnIdfQRuBBWO10CZS8c3m74cwXSwDKg==","signatures":[{"sig":"MEYCIQDmc7vgvduMZTyqvBzGPef7kTv5SRhNeGfJPEVdXGUHLQIhANTgxsJypFjdi8lbSSs+atw0M9jwwQb3Ff4q/doVXu/R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/apexsankey@1.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":457772},"main":"./apexsankey.min.js","type":"module","types":"./apexsankey.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./apexsankey.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./apexsankey.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"6e2a5bba9c97aeefe84002b44eb881bf970ea464","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2ddaf660-b76b-42e5-852a-524302df28fe"}},"repository":{"url":"git+https://github.com/apexcharts/apexsankey.git","type":"git"},"_npmVersion":"12.0.2","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"24.18.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.12.0_1786523807943_0.8225544161026133","host":"s3://npm-registry-packages-npm-production"}},"1.12.1":{"name":"apexsankey","version":"1.12.1","license":"See LICENSE in LICENSE","_id":"apexsankey@1.12.1","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"homepage":"https://github.com/apexcharts/apexsankey#readme","bugs":{"url":"https://github.com/apexcharts/apexsankey/issues"},"dist":{"shasum":"71b5985f30bb3677477a1cc4f7141b98ef896edd","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.12.1.tgz","fileCount":28,"integrity":"sha512-3k0mKdh6xnuYB8+duW59uaBJ8Kvv6MtROs0I4u2E2EKc8SDrpWr5dIPQPeAw4JhSVYr0QMHx66J8zTSWEgiz1g==","signatures":[{"sig":"MEYCIQDLNW+TpLjzP0YCG8QRObKyT0eXPU2FUSUUXk9r7PRRtwIhAPNB8BtC0vhSsS312UWbZ8WZV1EMlhlixOk2Dj5K2lBR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/apexsankey@1.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":458028},"main":"./apexsankey.min.js","type":"module","types":"./apexsankey.d.ts","module":"./apexsankey.es.min.js","exports":{".":{"import":{"types":"./apexsankey.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./apexsankey.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"1441210a1c5a65b8c833a7fc49f856fe58a9e630","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2ddaf660-b76b-42e5-852a-524302df28fe"}},"repository":{"url":"git+https://github.com/apexcharts/apexsankey.git","type":"git"},"_npmVersion":"12.0.2","description":"A JavaScript library to create Sankey diagrams built on SVG","directories":{},"_nodeVersion":"24.20.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apexsankey_1.12.1_1788687729256_0.6385088352376433","host":"s3://npm-registry-packages-npm-production"}},"1.12.2":{"name":"apexsankey","version":"1.12.2","dependencies":{},"repository":{"type":"git","url":"git+https://github.com/apexcharts/apexsankey.git"},"type":"module","main":"./apexsankey.min.js","module":"./apexsankey.es.min.js","types":"./apexsankey.d.ts","license":"SEE LICENSE IN LICENSE","exports":{".":{"import":{"types":"./apexsankey.d.ts","default":"./apexsankey.es.min.js"},"require":{"types":"./apexsankey.d.ts","default":"./apexsankey.min.js"}}},"gitHead":"7091e5a1b4d1920021b218343d8b48b382e8a3f3","_id":"apexsankey@1.12.2","description":"A JavaScript library to create Sankey diagrams built on SVG","bugs":{"url":"https://github.com/apexcharts/apexsankey/issues"},"homepage":"https://github.com/apexcharts/apexsankey#readme","_nodeVersion":"24.20.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-2s1ocoyHYu8USweba/SniSlygcNxaRhyha5/yxPXFTnjfFTyn1UQhaqEcwo8AWkDebKfRdL/0UGNGd7NL/nldA==","shasum":"b0d75e4364c7a76788ef2bbbe42d70440cb3097b","tarball":"https://registry.npmjs.org/apexsankey/-/apexsankey-1.12.2.tgz","fileCount":29,"unpackedSize":460863,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/apexsankey@1.12.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGkpnOrpRY8Bp4176+pmeuLPOxoMotpj1BZjpcihGgKTAiEA1DZtO2sHehk7hAB89m0hnmsoIwlSzr9Z5TUeOQwuH1A="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2ddaf660-b76b-42e5-852a-524302df28fe"}},"directories":{},"maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/apexsankey_1.12.2_1788780364569_0.5443185365104988"},"_hasShrinkwrap":false}},"time":{"created":"2024-06-29T11:39:48.283Z","modified":"2026-09-07T11:26:05.341Z","1.0.0":"2024-06-29T11:39:48.536Z","1.1.0":"2024-08-13T17:53:30.277Z","1.1.1":"2024-08-18T18:49:11.785Z","1.1.2":"2024-08-20T17:43:35.126Z","1.1.3":"2024-12-22T07:38:47.618Z","1.2.0":"2024-12-23T11:51:32.473Z","1.2.1":"2025-06-22T12:26:42.578Z","1.2.4":"2025-07-28T09:37:53.793Z","1.2.5":"2025-09-12T12:27:25.147Z","1.3.0":"2026-01-06T11:50:27.862Z","1.4.0":"2026-01-29T13:21:59.379Z","1.5.0":"2026-02-04T11:14:28.819Z","1.6.0":"2026-03-17T19:23:23.900Z","1.7.0":"2026-04-05T11:50:15.726Z","1.7.1":"2026-04-19T14:25:18.629Z","1.8.0":"2026-06-06T15:21:55.390Z","1.9.0":"2026-07-05T13:34:21.682Z","1.10.0":"2026-07-27T11:58:43.180Z","1.11.0":"2026-08-10T08:54:59.667Z","1.11.1":"2026-08-11T09:26:03.984Z","1.12.0":"2026-08-12T08:36:48.094Z","1.12.1":"2026-09-06T09:42:09.408Z","1.12.2":"2026-09-07T11:26:04.713Z"},"bugs":{"url":"https://github.com/apexcharts/apexsankey/issues"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/apexcharts/apexsankey#readme","repository":{"type":"git","url":"git+https://github.com/apexcharts/apexsankey.git"},"description":"A JavaScript library to create Sankey diagrams built on SVG","maintainers":[{"name":"junedchhipa","email":"info@apexcharts.com"}],"readme":"# ApexSankey\n\nA JavaScript library to create Sankey diagrams built on SVG\n\n<img width=\"752\" alt=\"apex-sankey-chart\" src=\"https://github.com/apexcharts/projects/assets/17950663/51e00ff0-79d1-45eb-8815-f8d11e2dd981\">\n\n## Dependency\n\nInclude svg.js\n\n```bash\n<script src=\"https://cdn.jsdelivr.net/npm/@svgdotjs/svg.js\"></script>\n```\n\n## Installation\n\nTo add the ApexSankey to your project and its dependencies, install the package from npm.\n\n```bash\nnpm install apexsankey\n```\n\n## Usage\n\n```js\nimport ApexSankey from 'apexsankey';\n```\n\nTo create a basic sankey with minimal configuration, write as follows:\n\n```html\n<div id=\"sankey-container\"></div>\n```\n\n```js\n const data = {\n   ...(data with format provided below)\n }\n const options = {\n    width: 800,\n    height: 800,\n    canvasStyle: 'border: 1px solid #caced0; background: #f6f6f6;',\n    spacing: 100,\n    nodeWidth: 20,\n };\n const sankey = new ApexSankey(document.getElementById('sankey-container'), options);\n const graph = sankey.render(data);\n```\n\n## Setting the License\n\nTo use ApexSankey with a commercial license, set your license key before creating any chart instances:\n\n```js\nimport ApexSankey from 'apexsankey';\n\n// set license key before creating any charts\nApexSankey.setLicense('your-license-key');\n\nconst sankey = new ApexSankey(document.getElementById('sankey-container'), options);\nconst graph = sankey.render(data);\n```\n\n## Methods\n\nMethods available on an `ApexSankey` instance:\n\n| Method | Description |\n| --- | --- |\n| `render(data)` | Build the diagram from `data` (`{ nodes, edges }`) and write the SVG into the container. Returns the internal graph renderer, which exposes `exportToSvg()`. |\n| `update(data)` | Transition an already-rendered instance to new `data`. When the new layout shares the current topology (same nodes and flows, only different values or positions), the nodes and ribbons spring smoothly to their new places. When the topology differs, it morphs through the change: entering flows grow out of their source node, survivors slide to their new places, and removed flows retract and dissolve. When animation is disabled or the user prefers reduced motion, it redraws instantly. |\n| `ApexSankey.setLicense(key)` | Static. Set the commercial license key before creating any chart instances. |\n| `ApexSankey.registerTheme(name, theme)` | Static. Register (or override) a named theme (a `SankeyTheme`), then reference it by name via the `theme` option. Use for brand presets. |\n| `ApexSankey.collapseGroups(data, groups, collapsed)` | Static. Project a detailed `{ nodes, edges }` to an aggregated one by collapsing the listed groups into super-nodes (re-routing and merging their flows). The pure transform behind the `drillDown` plugin; use it to seed the initial collapsed render. |\n| `ApexSankey.compare(element, config)` | Static. Render two linked diagrams (a \"before\" and an \"after\") side by side, outlining each flow by how it changed and highlighting the twin node or flow across both panels on hover. Returns a `SankeyComparison` handle (`before` / `after` / `diff` / `destroy()`). See [Comparison split-view](#comparison-split-view). |\n| `on(event, handler)` | Subscribe to an instance event (see [Plugins & Events](#plugins--events)). Returns an unsubscribe function. |\n| `off(event, handler)` | Remove a handler previously registered with `on`. |\n| `use(plugin)` | Install a `SankeyPlugin`. Its `install` runs immediately; any teardown it returns runs on `destroy()`. Returns the instance. |\n| `destroy()` | Tear down the chart: run plugin teardowns, emit `destroyed`, drop all handlers, and remove injected DOM (tooltip container). |\n\n## ApexSankey Options\n\nThe layout can be configured by passing a second argument to `ApexSankey` with the properties listed below.\n\n| Option | Type | Default | Description |\n| --- | --- | --- | --- |\n| `width` | `number \\| string` | `'100%'` | Width of the canvas. Accepts a pixel number or CSS percentage string. |\n| `height` | `number \\| string` | `'auto'` | Height of the canvas. `'auto'` derives height from width at a 1.6:1 ratio. |\n| `canvasStyle` | `string` | built-in border | Arbitrary CSS injected onto the SVG root container element. |\n| `type` | `'sankey' \\| 'chord'` | `'sankey'` | Which projection of the flow model to draw. `'chord'` renders a radial diagram (nodes as arcs on a ring, flows as ribbons across the interior) for dense many-to-many relationships. See [Chord](#chord). |\n| `arcCornerRadius` | `number` | `6` | Chord only. Corner radius (px) for the rounded outer corners of each node arc (the inner edge, where ribbons meet, stays flush). `0` gives sharp corners; clamped to the ring band width. |\n| `theme` | `string \\| SankeyTheme` | `undefined` | A named built-in theme (`'light'`, `'dark'`, `'midnight'`, `'mint'`, `'sunset'`), a name registered via `ApexSankey.registerTheme`, or an inline `SankeyTheme`. Seeds coordinated visual defaults (palette, colors, background); options you set explicitly still win. See [Themes](#themes). |\n| `spacing` | `number` | `20` | Horizontal spacing between node columns in pixels. |\n| `nodeWidth` | `number` | `20` | Width of each node rectangle in pixels. |\n| `nodeBorderWidth` | `number` | `1` | Border width of each node in pixels. |\n| `nodeBorderColor` | `string \\| null` | `null` | CSS color for the node border. `null` disables the border. |\n| `nodePalette` | `string[]` | `undefined` | Ordered fill colors cycled across nodes that do not set their own `color`. Overrides the built-in palette; a `theme` sets this for you. |\n| `draggableNodes` | `boolean` | `false` | Allow nodes to be repositioned by dragging with a pointer (mouse, touch, or pen). Connected flows follow the node live; the manual position holds until the next `render()`/`update()` recomputes the layout. |\n| `onNodeClick` | `(node: SankeyNode) => void` | `undefined` | Callback fired when the user clicks a node. |\n| `edgeOpacity` | `number` | `0.4` | Opacity of edges (0–1). |\n| `edgeGradientFill` | `boolean` | `true` | Fill edges with a gradient between source and target node colors. |\n| `particleFlow` | `boolean` | `false` | Animate particles drifting along each flow ribbon, with density proportional to the ribbon's value. Purely decorative; skipped under `prefers-reduced-motion`. |\n| `edgeGap` | `number` | `0` | Gap in pixels between adjacent edges at node connection points. |\n| `whitespace` | `number` | `0.18` | Fraction of vertical space used as margins between nodes (0–1). Lower = taller nodes. |\n| `orientation` | `'horizontal' \\| 'vertical'` | `'horizontal'` | Flow direction. `'horizontal'` lays ranks out in columns (flows left→right); `'vertical'` lays them in rows (flows top→bottom). |\n| `axisTitles` | `string[]` | `undefined` | Titles drawn above each column (or beside each row when vertical), one per rank — the axis/dimension labels of an alluvial diagram. Index `i` labels rank `i`. See [Alluvial](#alluvial). |\n| `viewPortWidth` | `number` | `800` | Internal SVG viewport width in pixels. |\n| `viewPortHeight` | `number` | `500` | Internal SVG viewport height in pixels. |\n| `highlightConnectedPath` | `boolean` | `true` | Highlight connected flows on interaction. Hovering a node or flow gives a one-hop preview; clicking a node or flow pins an isolate of its full upstream/downstream path (click again, or click another, to change/release). |\n| `dimOpacity` | `number` | `0.2` | Opacity for dimmed (unrelated) elements when path highlighting is active. |\n| `animation` | `{ enabled: boolean, duration: number }` | `{ enabled: true, duration: 800 }` | Entrance animation. Automatically disabled when `prefers-reduced-motion` is set. |\n| `enableTooltip` | `boolean` | `true` | Show edge tooltips on hover. |\n| `enableToolbar` | `boolean` | `true` | Show the zoom/pan toolbar. |\n| `tooltipId` | `string` | `'apexsankey-tooltip-container'` | HTML `id` for the tooltip container element. |\n| `tooltipTemplate` | `(content: TooltipContent) => string` | built-in | Custom function returning an HTML string for the edge (source→target) tooltip. |\n| `nodeTooltipTemplate` | `(content: NodeTooltipContent) => string` | built-in | Custom function returning an HTML string for the per-node tooltip. |\n| `tooltipTheme` | `'light' \\| 'dark'` | `undefined` | Overrides `tooltipBGColor`/`tooltipBorderColor`/`tooltipFontColor` with a preset. |\n| `tooltipBorderColor` | `string` | `'#E2E8F0'` | Border color of the tooltip. |\n| `tooltipBGColor` | `string` | `'#FFFFFF'` | Background color of the tooltip. |\n| `tooltipFontColor` | `string` | `'#1a1a1a'` | Font color inside the tooltip. |\n| `fontColor` | `string` | `'#212121'` | CSS color for node labels. |\n| `fontFamily` | `string` | `''` | CSS font-family for node labels. Falls back to the page default when empty. |\n| `fontSize` | `string` | `'14px'` | CSS font-size for node labels. |\n| `fontWeight` | `string` | `'400'` | CSS font-weight for node labels. |\n| `a11y` | `{ enabled?: boolean, diagramLabel?: string, description?: string }` | `{ enabled: true }` | WCAG 2.1 AA accessibility options. |\n| `locale` | `{ direction?: 'ltr' \\| 'rtl' \\| 'auto', messages?: Partial<SankeyMessages> }` | `{ direction: 'ltr' }` | Localization and text-direction. `direction: 'rtl'` mirrors the diagram horizontally (flows read right-to-left) and sets `dir=\"rtl\"` on the container (`'auto'` defers to the document). `messages` overrides the screen-reader strings the diagram generates. |\n\n### Chord\n\nSet `type: 'chord'` to draw the radial projection of the same `{ nodes, edges }` model: each node becomes an arc on a ring (its span proportional to total incident flow) and each edge a ribbon crossing the interior. It suits dense many-to-many or symmetric relationships (migration, co-occurrence, adjacency) where a layered Sankey turns into spaghetti. Hovering an arc or ribbon focuses its connections and dims the rest. The arcs' outer corners are rounded by default (`arcCornerRadius`); set it to `0` for sharp corners.\n\n```js\nconst sankey = new ApexSankey(el, {type: 'chord'});\nsankey.render({\n  nodes: [\n    {id: 'A', title: 'A'},\n    {id: 'B', title: 'B'},\n    {id: 'C', title: 'C'},\n  ],\n  edges: [\n    {source: 'A', target: 'B', value: 12, type: 'x'},\n    {source: 'B', target: 'C', value: 8, type: 'x'},\n    {source: 'C', target: 'A', value: 5, type: 'x'},\n  ],\n});\n```\n\nChord mode reuses the tooltip, node/edge click events, and color palette. Sankey-only features (multi-orientation, RTL mirror, animated relayout, node dragging, particle flow) do not apply to it.\n\n### Alluvial\n\nAn alluvial diagram is the same engine as a Sankey, reached through the same `{ nodes, edges }` model. `ApexSankey.buildAlluvialData` (also exported as `buildAlluvialData`) turns categorical records-across-dimensions into that model so you do not hand-build it: it creates one node per (dimension, category) and one edge per adjacent-dimension transition, with each category keeping the same color across every dimension so a cohort reads as one continuous stream. Pair it with `axisTitles` for the dimension labels.\n\n```js\nconst input = {\n  dimensions: ['2019', '2022', '2025'],\n  records: [\n    {values: {2019: 'Free', 2022: 'Pro', 2025: 'Pro'}},\n    {values: {2019: 'Free', 2022: 'Free', 2025: 'Churned'}},\n    {values: {2019: 'Pro', 2022: 'Pro', 2025: 'Team'}, value: 3},\n  ],\n};\n\nconst sankey = new ApexSankey(el, {axisTitles: input.dimensions});\nsankey.render({...ApexSankey.buildAlluvialData(input), options: sankey.options});\n```\n\n`AlluvialInput` fields:\n\n| Field        | Type               | Description                                                    |\n| ------------ | ------------------ | -------------------------------------------------------------- |\n| `dimensions` | `string[]`         | Ordered dimension (axis) ids, left → right.                    |\n| `records`    | `AlluvialRecord[]` | The subjects flowing across the dimensions.                    |\n| `palette`    | `string[]`         | Optional category color palette, cycled per distinct category. |\n\nEach `AlluvialRecord` is `{ values: Record<string, string>, value?: number }` — the category at each dimension (keyed by dimension id), and the weight it contributes (default `1`). A record missing a category at some dimension simply skips that adjacency.\n\n### Plugins & Events\n\nSubscribe to instance events with `on` (it returns an unsubscribe function), or package reusable behaviour as a `SankeyPlugin` and install it with `use`.\n\n```js\n// events\nconst off = sankey.on('node:click', ({id, node, originalEvent}) => {\n  console.log('clicked', id);\n});\n// ...later\noff();\n\n// a reusable plugin: log every clicked node, cleaned up on destroy()\nsankey.use({\n  name: 'click-logger',\n  install: ({chart, on}) => on('node:click', ({id}) => console.log('clicked', id)),\n});\n```\n\nEmitted events and their payloads:\n\n| Event | Payload | When |\n| --- | --- | --- |\n| `node:click` | `{ id, node, originalEvent }` | A node is clicked. |\n| `node:mouseenter` | `{ id, node, originalEvent }` | The pointer enters a node. |\n| `node:mouseleave` | `{ id, node, originalEvent }` | The pointer leaves a node. |\n| `edge:click` | `{ source, target, value, originalEvent }` | A flow (edge) is clicked. |\n| `edge:mouseenter` | `{ source, target, value, originalEvent }` | The pointer enters a flow. |\n| `edge:mouseleave` | `{ source, target, value, originalEvent }` | The pointer leaves a flow. |\n| `rendered` | none | After the initial render and after each `update()` settles. |\n| `destroyed` | none | On `destroy()`. |\n\nA `SankeyPlugin` is `{ name, install(ctx) }`. `install` receives `{ chart, on }` and may return a teardown function that runs on `destroy()`. Every subscription made through `ctx.on` is also released automatically on `destroy()`.\n\n#### Built-in plugins\n\n`pathTrace` ships with the library (importable as `pathTrace`, or `ApexSankey.plugins.pathTrace`). Installing it makes a bright pulse cascade along the connected flow path when a node is picked, ribbon by ribbon, cueing the eye to where the flow goes. It is skipped under `prefers-reduced-motion` and applies to the Sankey projection (not chord).\n\n```js\nsankey.use(pathTrace({direction: 'downstream'}));\n```\n\n| `PathTraceOptions` | Type | Default | Description |\n| --- | --- | --- | --- |\n| `trigger` | `'click' \\| 'hover'` | `'click'` | What starts a trace. |\n| `direction` | `'downstream' \\| 'upstream' \\| 'both'` | `'downstream'` | Which way flow is traced from the picked node. |\n| `color` | `string` | `'#ffffff'` | Pulse color. |\n| `duration` | `number` | `700` | Milliseconds for a pulse to cross one ribbon. |\n| `stagger` | `number` | `220` | Milliseconds added per hop, so the trace cascades outward. |\n\n`timePlayback` steps the diagram through a sequence of data frames, driven by the chart's own `update()` so topology-stable frames spring smoothly from one to the next. It ships a small control bar (play/pause + a scrubber). Importable as `timePlayback` or `ApexSankey.plugins.timePlayback`.\n\n```js\nsankey.render({...frames[0], options: sankey.options});\nsankey.use(timePlayback({frames, interval: 1500, loop: true}));\n```\n\n| `TimePlaybackOptions` | Type | Default | Description |\n| --- | --- | --- | --- |\n| `frames` | `TimePlaybackFrame[]` | required | Ordered frames (`{ nodes, edges, label? }`). Share topology across frames for a smooth morph. |\n| `interval` | `number` | `1600` | Milliseconds each frame is shown before advancing. |\n| `autoplay` | `boolean` | `false` | Start playing on install. |\n| `loop` | `boolean` | `false` | Loop back to the first frame after the last. |\n| `controls` | `boolean` | `true` | Render the built-in control bar. |\n| `mount` | `HTMLElement` | after the chart | Where to render the control bar. |\n\n`drillDown` turns a large diagram into a set of super-nodes you expand on demand: click a super-node to reveal its constituent flows, click any of its children to collapse it back. The drillable nodes get a `pointer` cursor so they read as clickable. Expanding animates the children **growing out of the super-node** (and shrinking back into it on collapse) with their ribbons — driven through the chart's own `update()` (which accepts an optional `SankeyTransition` hint for this). It is built on the pure `ApexSankey.collapseGroups` transform (also exported as `collapseGroups`), which re-routes and merges the flows of a collapsed group. Importable as `drillDown` or `ApexSankey.plugins.drillDown`; applies to the Sankey projection (not chord). Seed the initial collapsed render with `ApexSankey.collapseGroups` so there is no load-time morph.\n\n```js\nconst detail = {nodes, edges};\nconst groups = [{id: 'Fossil', title: 'Fossil', children: ['Coal', 'Gas', 'Oil']}];\nsankey.render({...ApexSankey.collapseGroups(detail, groups, ['Fossil']), options: sankey.options});\nsankey.use(drillDown({...detail, groups}));\n```\n\n| `DrillDownOptions` | Type | Default | Description |\n| --- | --- | --- | --- |\n| `nodes` | `SankeyGraphNode[]` | required | The full, detailed leaf nodes before any collapsing. |\n| `edges` | `SankeyGraphEdge[]` | required | The full, detailed flows between the leaf nodes. |\n| `groups` | `DrillDownGroup[]` | required | Group definitions (`{ id, title, color?, children }`); each collapses its children into one super-node. |\n| `expanded` | `string[]` | `[]` | Group ids expanded on install; every other group starts collapsed. |\n\n### Comparison split-view\n\n`ApexSankey.compare(element, config)` renders two diagrams of the same flow model side by side — a \"before\" and an \"after\". It outlines each flow by how it changed between them (added, removed, or changed, from the pure `diffGraphs` transform, also exported), draws a legend, and links the panels so hovering a node or flow highlights its twin in the other. It is built on the public surface only (two ordinary `ApexSankey` instances plus their `node:*` and `edge:*` events) and returns a `SankeyComparison` handle exposing `before`, `after`, the computed `diff`, and `destroy()`.\n\n```js\nconst cmp = ApexSankey.compare(el, {\n  before: {nodes, edges: edges2024, title: '2024'},\n  after: {nodes, edges: edges2025, title: '2025'},\n});\n// later: cmp.destroy();\n```\n\n| `ComparisonConfig` | Type | Default | Description |\n| --- | --- | --- | --- |\n| `before` | `{ nodes, edges, title? }` | required | The left panel's flow graph and optional heading. |\n| `after` | `{ nodes, edges, title? }` | required | The right panel's flow graph and optional heading. |\n| `options` | `Partial<SankeyOptions>` | `{}` | Base options shared by both panels (each manages its own width). |\n| `syncHighlight` | `boolean` | `true` | Highlight the twin node or flow in the other panel on hover (a cursor lands on a ribbon at least as readily as on a node). |\n| `showDiff` | `boolean` | `true` | Outline added / removed / changed flows in each panel. |\n| `showLegend` | `boolean` | `true` | Render the diff color legend below the panels. |\n| `diffColors` | `{ added?, removed?, changed? }` | greens/reds/ambers | Override the diff outline colors. |\n\n### Themes\n\nPass `theme` to seed a coordinated set of visual defaults in one shot. Built-in themes: `'light'` (the default look), `'dark'`, `'midnight'`, `'mint'`, and `'sunset'`. A theme sits between the built-in defaults and your explicit options, so anything you set yourself still wins.\n\n```js\nconst sankey = new ApexSankey(el, {theme: 'dark'});\n```\n\nRegister a brand preset once, then reference it by name:\n\n```js\nApexSankey.registerTheme('acme', {\n  nodePalette: ['#ff5a5f', '#087f8c', '#5d2e8c'],\n  fontColor: '#1a1a1a',\n  canvasStyle: 'background: #faf7f2; box-sizing: border-box;',\n});\nconst sankey = new ApexSankey(el, {theme: 'acme'});\n```\n\nYou can also pass an inline `SankeyTheme` object directly as `theme`. A `SankeyTheme` may set any subset of the following (each maps to the option of the same name; omitted fields keep their default):\n\n| `SankeyTheme` field | Type                | Description                                                              |\n| ------------------- | ------------------- | ------------------------------------------------------------------------ |\n| `nodePalette`       | `string[]`          | Ordered node fill colors, cycled across nodes without their own `color`. |\n| `fontColor`         | `string`            | CSS color for node labels.                                               |\n| `edgeOpacity`       | `number`            | Opacity of the flow ribbons (0–1).                                       |\n| `edgeGradientFill`  | `boolean`           | Fill ribbons with a source→target gradient.                              |\n| `nodeBorderColor`   | `string \\| null`    | CSS color for the node border (`null` disables).                         |\n| `canvasStyle`       | `string`            | CSS on the SVG root container, typically the background and border.      |\n| `tooltipTheme`      | `'light' \\| 'dark'` | Tooltip color preset.                                                    |\n\n### Localization & RTL\n\nThe diagram's screen-reader strings live in `SankeyMessages`; pass a `Partial<SankeyMessages>` via `locale.messages` to translate any subset (unset keys keep their English defaults, exported as `DEFAULT_SANKEY_MESSAGES`). Visible tooltips are localized separately via `tooltipTemplate` / `nodeTooltipTemplate`.\n\n| `SankeyMessages` key | Type | Description |\n| --- | --- | --- |\n| `diagramLabel` | `(ctx: SankeyDiagramLabelContext) => string` | SVG root aria-label summary (node/flow counts + largest flow). |\n| `nodeAriaLabel` | `(ctx: SankeyNodeLabelContext) => string` | Per-node aria-label (incoming/outgoing flow summary). |\n| `edgeAriaLabel` | `(ctx: SankeyEdgeLabelContext) => string` | Per-edge aria-label. Default: `Flow from {source} to {target}: {value} units`. |\n| `nodesGroupLabel` | `string` | aria-label for the `<g>` wrapping all nodes. Default: `'Sankey nodes'`. |\n\n```ts\nconst sankey = new ApexSankey(el, {\n  locale: {\n    direction: 'rtl',\n    messages: {nodesGroupLabel: 'العقد'},\n  },\n});\n```\n\nDefault tooltip template\n\n```js\nconst tooltipTemplate = ({source, target, value}) => {\n    return `\n      <div style='display:flex;align-items:center;gap:5px;'>\n        <div style='width:12px;height:12px;background-color:${source.color}'></div>\n        <div>${source.title}</div>\n        <div>=></div>\n        <div style='width:12px;height:12px;background-color:${target.color}'></div>\n        <div>${target.title}</div>\n        <div>: ${value}</div>\n      </div>\n    `;\n  },\n```\n\n### Expected data format\n\nPassed data should be an object containing nodes, edges and options. Nodes, edges and options should be in below format.\n\n- _nodes_ : Passed node object should contain id and title. _Id_ is for uniquely identifying nodes and _title_ is for node titles. It will be also used for showing tooltips for node-to-node connections.\n\n```json\n{\n  \"id\": \"1\", // required\n  \"title\": \"A\" // required\n}\n```\n\n- _edges_ : Passed edge object should contain source, target, value and type. _source_ is id value of source node for edge, _target_ is id value of target node for edge, _value_ indicates edge size and _type_ is for grouping nodes.\n\n```json\n{\n    \"source\": \"a\",    // required\n    \"target\": \"b\",    // required\n    \"value\": 1,       // required\n    \"type\": \"x\",      // optional\n},\n```\n\n- _options_ : ApexSankey supports two options order and alightLinkTypes.\n\n  - _order_: optional list of layers\n\n    If order is not specified, the nodes are automatically assigned to layers. If order is specified, it is used directly and no rank assignment or ordering algorithm takes place.\n\n    The order structure has three nested lists: order is a list of layers, each of which is a list of bands, each of which is a list of node ids. For example,\n\n    ```json\n    {\n        \"order\": [\n            [[\"a\", \"b\"]],\n            [[\"c\"]],\n        ],\n    },\n    ```\n\n**Example**\n\n```js\nconst data = {\n  nodes: [\n    {\n      id: 'a',\n      title: 'AAA',\n    },\n    {\n      id: 'b',\n      title: 'BBB',\n    },\n    {\n      id: 'c',\n      title: 'CCC',\n    },\n  ],\n  edges: [\n    {\n      source: 'a',\n      target: 'c',\n      value: 1,\n      type: 'A',\n    },\n    {\n      source: 'b',\n      target: 'c',\n      value: 2,\n      type: 'A',\n    },\n  ],\n  options: {\n    order: [[['a', 'b']], [['c']]],\n  },\n};\n```\n\n## Family theme tokens (`--apx-*`)\n\nEvery chart in the ApexCharts family reads the same five root tokens, so a page can state its brand once and have trees, flow diagrams, Gantt charts and plots all follow:\n\n| Token                               | Role                                                             |\n| ----------------------------------- | ---------------------------------------------------------------- |\n| `--apx-accent`                      | The colour that means interactive or selected                    |\n| `--apx-fore`                        | Text and anything that must stay legible on the surface          |\n| `--apx-grid`                        | Hairlines: borders, gridlines, connectors                        |\n| `--apx-surface`                     | The plane content sits on                                        |\n| `--apx-series-1` … `--apx-series-N` | An ordered categorical palette (1-based, stops at the first gap) |\n\n```css\n:root {\n  --apx-accent: #5b21b6;\n  --apx-fore: #101828;\n  --apx-grid: #e4e7ec;\n  --apx-surface: #ffffff;\n}\n\n@media (prefers-color-scheme: dark) {\n  :root {\n    --apx-fore: #f8fafc;\n    --apx-grid: #334155;\n    --apx-surface: #0f172a;\n  }\n}\n```\n\nCustom properties inherit, so declaring them on `:root` reaches every chart on the page. They resolve **below anything you configured explicitly**, so adopting them cannot change a chart that was already themed:\n\n```\nproduct CSS variable  >  explicit option  >  --apx-* token  >  built-in default\n```\n\nAn option set to a value equal to its built-in default is indistinguishable from one left alone, and the token wins there. Set a product variable if you need a value pinned regardless.\n\n### Named themes\n\n`registerTheme` from `@apex/commons` records a named set of tokens on a registry shared by the whole family, so a brand theme registered once from any product is resolvable by name from all of them:\n\n```js\nimport {registerTheme} from '@apex/commons';\n\nregisterTheme('acme', {\n  tokens: {accent: '#5b21b6', fore: '#101828', grid: '#e4e7ec', surface: '#ffffff'},\n});\n```\n\nA named theme's tokens sit one layer below the CSS `--apx-*` tokens, so the cascade still wins over the registry.\n\nReference it through the `theme` option, alongside the Sankey-specific named themes described in [Themes](#themes). The two registries are complementary: a Sankey theme carries diagram-specific defaults (palette, edge opacity, canvas style), while a family theme carries the cross-product token roles.\n","readmeFilename":"README.md"}