{"_id":"@ajdeb/blocks-ui","_rev":"10-343aeca5412184b81ebde9dd6460f5b9","name":"@ajdeb/blocks-ui","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.0":{"name":"@ajdeb/blocks-ui","version":"1.0.0","keywords":["dashboard","charts","visualization","css","ui","data"],"license":"MIT","_id":"@ajdeb/blocks-ui@1.0.0","maintainers":[{"name":"ajdeb","email":"andre@debuisne.com"}],"dist":{"shasum":"bb31fe28842732496b4995facc06c3d0ff92a84a","tarball":"https://registry.npmjs.org/@ajdeb/blocks-ui/-/blocks-ui-1.0.0.tgz","fileCount":6,"integrity":"sha512-Ccp9yXpGtQvLRCanWcwxFNLd9530A20VrIl1A8w3COP5WUh2094CG5EoofWQHEuwJ8mH3OxqYuW6WmdpIFNffA==","signatures":[{"sig":"MEYCIQDmJeNLXMrsiGTCN4LxkhibT7P6Vs5nuXPxCsiI2DOrCgIhANYlTWshYomX6IDfSKIqj7BU1rd6SogtNwAO0RAD985W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44818},"main":"blocks.js","style":"blocks.css","gitHead":"f769102e69547d13602a456e8a5c300769b741c5","scripts":{"build":"terser blocks.js --compress --mangle --output blocks.min.js && cleancss --output blocks.min.css blocks.css"},"_npmUser":{"name":"ajdeb","email":"andre@debuisne.com"},"_npmVersion":"10.8.2","description":"Lightweight CSS/JS framework for data visualization dashboards","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"terser":"^5.31.0","clean-css-cli":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/blocks-ui_1.0.0_1776795043322_0.5817227507048732","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ajdeb/blocks-ui","version":"1.0.1","keywords":["dashboard","charts","visualization","css","ui","data"],"license":"MIT","_id":"@ajdeb/blocks-ui@1.0.1","maintainers":[{"name":"ajdeb","email":"andre@debuisne.com"}],"dist":{"shasum":"4083eda7d6e60195551b40fa49e63b4c1a1cfda6","tarball":"https://registry.npmjs.org/@ajdeb/blocks-ui/-/blocks-ui-1.0.1.tgz","fileCount":6,"integrity":"sha512-wuEgHEjonK8byLXIAbRJDQiHm7v3zo3g6AYgDihlJKJl1qiQaOXcDbmgWrygtPzBo71pb6teGPzYY0PCyGJy9Q==","signatures":[{"sig":"MEUCIQCl2oengFlZafuFPPIVZsD13iXZH3bTFT+mvPk3tfCbigIgCf+tNLyWl8pzUHg3DyxBjM9WI23f35cSVPIBYDsIigQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45458},"main":"blocks.js","style":"blocks.css","gitHead":"c0a8bb11e48966a8a7c2569b944419ccba19dcbc","scripts":{"build":"terser blocks.js --compress --mangle --output blocks.min.js && cleancss --output blocks.min.css blocks.css"},"_npmUser":{"name":"ajdeb","email":"andre@debuisne.com"},"_npmVersion":"10.8.2","description":"Lightweight CSS/JS framework for data visualization dashboards","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"terser":"^5.31.0","clean-css-cli":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/blocks-ui_1.0.1_1776795896193_0.6525122024315981","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@ajdeb/blocks-ui","version":"1.0.2","keywords":["dashboard","charts","visualization","css","ui","data"],"license":"MIT","_id":"@ajdeb/blocks-ui@1.0.2","maintainers":[{"name":"ajdeb","email":"andre@debuisne.com"}],"dist":{"shasum":"6f72aa050c7c40024f85d8a604e8148c99ba9fb5","tarball":"https://registry.npmjs.org/@ajdeb/blocks-ui/-/blocks-ui-1.0.2.tgz","fileCount":6,"integrity":"sha512-gzmHkwWXtaiDB5/0BSNxxpADFqj9tCo9lMFfNfOxJcAKuKAyZRZwuEOl7zuNXd9dkN4iJrDZhMew85R+DaDm8w==","signatures":[{"sig":"MEQCIDGldKCTjiIv4+sZCp22ugE/YVx/pUI3+HeM89O8p3pWAiBzAt1zFJTuR21WHFfy1IV9lIz+/7UjVUbwNbbdZY3VeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63692},"main":"blocks.js","style":"blocks.css","gitHead":"966f7ea979f7a1b30e7003e2ae29f15c0c070707","scripts":{"build":"terser blocks.js --compress --mangle --output blocks.min.js && cleancss --output blocks.min.css blocks.css"},"_npmUser":{"name":"ajdeb","email":"andre@debuisne.com"},"_npmVersion":"10.8.2","description":"Lightweight CSS/JS framework for data visualization dashboards","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"terser":"^5.31.0","clean-css-cli":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/blocks-ui_1.0.2_1776862784123_0.41106781475381315","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@ajdeb/blocks-ui","version":"1.0.3","keywords":["dashboard","charts","visualization","css","ui","data"],"license":"MIT","_id":"@ajdeb/blocks-ui@1.0.3","maintainers":[{"name":"ajdeb","email":"andre@debuisne.com"}],"dist":{"shasum":"3bcb8e894721b022eb4b5e47b7c14b482fc742e5","tarball":"https://registry.npmjs.org/@ajdeb/blocks-ui/-/blocks-ui-1.0.3.tgz","fileCount":6,"integrity":"sha512-L9uCYW224+lDlUopZmPhU3mNSihpDcWCHcXavn/q5azIZo+OG3e3gtcE3hZaOWNvG6pgGkext+vGTdkjIzS/cw==","signatures":[{"sig":"MEUCIQDw5j6raTPBwH3EuYB2PlGiLzXbHaXbtcTlq1yTFUStFgIgDJnp+3cBBil5vMLFkmx00akDOR7l8a9GhV4UpBvBg1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67807},"main":"blocks.js","style":"blocks.css","gitHead":"dceac5c2436c02b64abcabb583a2415db622133b","scripts":{"build":"terser blocks.js --compress --mangle --output blocks.min.js && cleancss --output blocks.min.css blocks.css"},"_npmUser":{"name":"ajdeb","email":"andre@debuisne.com"},"_npmVersion":"10.8.2","description":"Lightweight CSS/JS framework for data visualization dashboards","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"terser":"^5.31.0","clean-css-cli":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/blocks-ui_1.0.3_1776872210294_0.20901633715814172","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@ajdeb/blocks-ui","version":"1.0.4","keywords":["dashboard","charts","visualization","css","ui","data"],"license":"MIT","_id":"@ajdeb/blocks-ui@1.0.4","maintainers":[{"name":"ajdeb","email":"andre@debuisne.com"}],"dist":{"shasum":"a9d5ef7705b560502839ff2761f4007b8c873e52","tarball":"https://registry.npmjs.org/@ajdeb/blocks-ui/-/blocks-ui-1.0.4.tgz","fileCount":6,"integrity":"sha512-Yo44Fzketjrk/L4u1YR5acPGGpFM9yi3/XEdSTm4aeYU4FZc3dpd7qGzZA66I4twDtp1YKpp+BAUqauDsjJ5Og==","signatures":[{"sig":"MEUCIQDo91eptzAPwUU/EkvQBElc1wzMiAc6V6GIHhMbfmMlwwIgTHSv2UIWkFJLZn6UAAK9xQKGcKqgAXrTQedxYkl8YiM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67871},"main":"blocks.js","style":"blocks.css","gitHead":"9683cff449d8de35413490419943e3ec1ff16f7a","scripts":{"build":"terser blocks.js --compress --mangle --output blocks.min.js && cleancss --output blocks.min.css blocks.css"},"_npmUser":{"name":"ajdeb","email":"andre@debuisne.com"},"_npmVersion":"10.8.2","description":"Lightweight CSS/JS framework for data visualization dashboards","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"terser":"^5.31.0","clean-css-cli":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/blocks-ui_1.0.4_1776880099519_0.4150390051815176","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@ajdeb/blocks-ui","version":"1.0.5","keywords":["dashboard","charts","visualization","css","ui","data"],"license":"MIT","_id":"@ajdeb/blocks-ui@1.0.5","maintainers":[{"name":"ajdeb","email":"andre@debuisne.com"}],"dist":{"shasum":"55c2c884a34a4dd786cc1a72bbca015d8d702687","tarball":"https://registry.npmjs.org/@ajdeb/blocks-ui/-/blocks-ui-1.0.5.tgz","fileCount":6,"integrity":"sha512-8VviUF1Trk/IcSlyhxk9jBnX0NnJ0vmXC5fyYr6h0ZsVgiv7AWqT4HC1BD6CuvI/pCcYMYDySs4ahJhfxaYFjQ==","signatures":[{"sig":"MEQCIHzozgElHZb0IF090jgou5fHAhX18W6B0Oj6UW08lELIAiBeSyITazXKkvof4SpYsLKIb1sChwOBF4J1fqWYbH+D5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67334},"main":"blocks.js","style":"blocks.css","gitHead":"ee8d763af370efbab5223460d7facc8a92035807","scripts":{"build":"terser blocks.js --compress --mangle --output blocks.min.js && cleancss --output blocks.min.css blocks.css"},"_npmUser":{"name":"ajdeb","email":"andre@debuisne.com"},"_npmVersion":"10.8.2","description":"Lightweight CSS/JS framework for data visualization dashboards","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"terser":"^5.31.0","clean-css-cli":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/blocks-ui_1.0.5_1776882324659_0.9564417100524061","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@ajdeb/blocks-ui","version":"1.0.6","keywords":["dashboard","charts","visualization","css","ui","data"],"license":"MIT","_id":"@ajdeb/blocks-ui@1.0.6","maintainers":[{"name":"ajdeb","email":"andre@debuisne.com"}],"dist":{"shasum":"60543371f9ac3a9a5258a3c638d4cfc5fe55941e","tarball":"https://registry.npmjs.org/@ajdeb/blocks-ui/-/blocks-ui-1.0.6.tgz","fileCount":6,"integrity":"sha512-rRwQPx+GTYVxRT6igd6LFjtrEf9ZtzM23StVIWnSP5bMInrezpWOd0ZsJbZSR/50qG6B1qjpRCi+3HVWiudd0g==","signatures":[{"sig":"MEUCIBin9o6e9aVFGQsHnBlUecNItE+4NlfLxLMav5k3MDCwAiEA2dXAKptpqRiHcyHDBB9WJnuB8a2EkTNLv41UAqlL9R0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68040},"main":"blocks.js","style":"blocks.css","gitHead":"22f03b813cfea6d5b0f20d22a8e268a55bc49a8a","scripts":{"build":"terser blocks.js --compress --mangle --output blocks.min.js && cleancss --output blocks.min.css blocks.css"},"_npmUser":{"name":"ajdeb","email":"andre@debuisne.com"},"_npmVersion":"10.8.2","description":"Lightweight CSS/JS framework for data visualization dashboards","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"terser":"^5.31.0","clean-css-cli":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/blocks-ui_1.0.6_1776883873457_0.045088868627832124","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@ajdeb/blocks-ui","version":"1.0.7","keywords":["dashboard","charts","visualization","css","ui","data"],"license":"MIT","_id":"@ajdeb/blocks-ui@1.0.7","maintainers":[{"name":"ajdeb","email":"andre@debuisne.com"}],"dist":{"shasum":"9ae67b023b5d77915ef03a2136cc74c41d205364","tarball":"https://registry.npmjs.org/@ajdeb/blocks-ui/-/blocks-ui-1.0.7.tgz","fileCount":6,"integrity":"sha512-2gbeaCvF7h0xpTcuKWdhOsJ7kRu29qU1zmavDkeOtTPeHvkcLkusLuuEi1zOCZFjZ+vv06A/YiUPAJHSDR2Mgg==","signatures":[{"sig":"MEQCIGqmrm5B+IDjCOuKjei0CW9ODfigX9pUcnCEHCMD48scAiBxw5Y40x6Yo4J6QnsPSj+HjNWyd6HFWpbxECP7jOnQGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68459},"main":"blocks.js","style":"blocks.css","gitHead":"ea77d34e0279b2511bb4e7087a1b261df5b7ed2e","scripts":{"build":"terser blocks.js --compress --mangle --output blocks.min.js && cleancss --output blocks.min.css blocks.css"},"_npmUser":{"name":"ajdeb","email":"andre@debuisne.com"},"_npmVersion":"10.8.2","description":"Lightweight CSS/JS framework for data visualization dashboards","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"terser":"^5.31.0","clean-css-cli":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/blocks-ui_1.0.7_1776886013874_0.9941154108102308","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@ajdeb/blocks-ui","version":"1.0.8","keywords":["dashboard","charts","visualization","css","ui","data"],"license":"MIT","_id":"@ajdeb/blocks-ui@1.0.8","maintainers":[{"name":"ajdeb","email":"andre@debuisne.com"}],"dist":{"shasum":"22841f788634d608b5f7278a6fa7a6f6bb139d33","tarball":"https://registry.npmjs.org/@ajdeb/blocks-ui/-/blocks-ui-1.0.8.tgz","fileCount":6,"integrity":"sha512-p2mkAjVPRehICw5lcNycIwyrsnt6Hg85weICqkU6vyHAz8+ZliReWk6lJUVSP9MPs25XM3ODZxaccFCjWLxFCA==","signatures":[{"sig":"MEQCIEhzvd8pX4zhB0w3sTe0EylPy6qifPeMdi4dVOWeuW1kAiBE06RME8m4avjRvaGnKnMBuuwDT0R9MBnuVeHkDOFvXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68531},"main":"blocks.js","style":"blocks.css","gitHead":"c4a3526b84ec8ab29fce3e36c149a84b315b3991","scripts":{"build":"terser blocks.js --compress --mangle --output blocks.min.js && cleancss --output blocks.min.css blocks.css"},"_npmUser":{"name":"ajdeb","email":"andre@debuisne.com"},"_npmVersion":"10.8.2","description":"Lightweight CSS/JS framework for data visualization dashboards","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"terser":"^5.31.0","clean-css-cli":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/blocks-ui_1.0.8_1776889247366_0.4691849487334965","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@ajdeb/blocks-ui","version":"1.0.9","description":"Lightweight CSS/JS framework for data visualization dashboards","main":"blocks.js","style":"blocks.css","keywords":["dashboard","charts","visualization","css","ui","data"],"license":"MIT","devDependencies":{"clean-css-cli":"^5.6.3","terser":"^5.31.0"},"scripts":{"build":"terser blocks.js --compress --mangle --output blocks.min.js && cleancss --output blocks.min.css blocks.css"},"_id":"@ajdeb/blocks-ui@1.0.9","gitHead":"425b6785b3630e333fab95cf7d5e3be36bf314c0","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-OjYyGjMCpbCUaemYytLUHsRQZP9gYl71YWarY2++KgdNdOrSEr+ZszgiMAgQW6+qLxJJoM/5FvGA0FFexkmhlw==","shasum":"e28c292782655aa5e6d0b1986a51f43c231adcb7","tarball":"https://registry.npmjs.org/@ajdeb/blocks-ui/-/blocks-ui-1.0.9.tgz","fileCount":6,"unpackedSize":74858,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD02QuCWKgdLc3Jd3YLsYsKff1uXwE46IlT/uiBZG9RKgIgPBN/LqDYa9UTrXDmcyzKpu8sHyg0Hya1X/scTDg73Jk="}]},"_npmUser":{"name":"ajdeb","email":"andre@debuisne.com"},"directories":{},"maintainers":[{"name":"ajdeb","email":"andre@debuisne.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/blocks-ui_1.0.9_1776953893045_0.26764803973998075"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-21T18:10:43.183Z","modified":"2026-04-23T14:18:13.344Z","1.0.0":"2026-04-21T18:10:43.463Z","1.0.1":"2026-04-21T18:24:56.333Z","1.0.2":"2026-04-22T12:59:44.261Z","1.0.3":"2026-04-22T15:36:50.433Z","1.0.4":"2026-04-22T17:48:19.663Z","1.0.5":"2026-04-22T18:25:24.816Z","1.0.6":"2026-04-22T18:51:13.614Z","1.0.7":"2026-04-22T19:26:54.005Z","1.0.8":"2026-04-22T20:20:47.498Z","1.0.9":"2026-04-23T14:18:13.237Z"},"license":"MIT","keywords":["dashboard","charts","visualization","css","ui","data"],"description":"Lightweight CSS/JS framework for data visualization dashboards","maintainers":[{"name":"ajdeb","email":"andre@debuisne.com"}],"readme":"# Blocks UI\n\n## A lightweight UI framework to visualize data\n\n[![npm](https://img.shields.io/npm/v/@ajdeb/blocks-ui)](https://www.npmjs.com/package/@ajdeb/blocks-ui)\n\n![ui.png](https://raw.githubusercontent.com/andredebuisne/blocks-ui/master/ui.png)\n\n## Installation\n1. CDN (always latest):\n\n```html\n<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/@ajdeb/blocks-ui@latest/blocks.min.css\">\n<script src=\"https://cdn.jsdelivr.net/npm/@ajdeb/blocks-ui@latest/blocks.min.js\"></script>\n```\n\nFor production, pin a specific version:\n```html\n<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/@ajdeb/blocks-ui@1.0.0/blocks.min.css\">\n<script src=\"https://cdn.jsdelivr.net/npm/@ajdeb/blocks-ui@1.0.0/blocks.min.js\"></script>\n```\n\n2. Download the `blocks.min.css` and `blocks.js` files from [the releases](https://github.com/andredebuisne/blocks-ui/releases)  locally and import them directly:\n```html\n<link rel=\"stylesheet\" href=\"./path_to_static/blocks.min.css\">\n<script src=\"./path_to_static/blocks.min.js\"></script>\n```\n\n## Quickstart\n```html\n<html>\n<!-- See above for imports in the <head> -->\n<body>\n<div class=\"blockrow\">\n    <div class=\"block-100\">\n        <div class=\"title-lg\">Blocks UI</div>\n        <div class=\"subtitle\">Status: live</div>\n    </div>\n</div>\n\n<div class=\"blockrow\">\n    <div class=\"block-lg-20 block-md-40\">\n        <div class=\"title\">Latest price</div>\n        <div class=\"subtitle\">Last updated: 5 min ago\n        </div>\n        <div class=\"number\">$3,600</div>\n        <div class=\"footer\">Source: NYSE</div>\n    </div>\n    <div class=\"block-lg-20 block-md-40\">\n        <div class=\"title\">Volatility</div>\n        <div class=\"subtitle\">Last updated: 5 min ago</div>\n        <div class=\"number\">67%</div>\n    </div>\n    <div class=\"block-lg-60 block-md-100 tab-block\">\n        <div class=\"tabs\">\n            <a href=\"#tab1\" class=\"tab active\">News</a>\n            <a href=\"#tab2\" class=\"tab\">Futures</a>\n        </div>\n        <div id=\"tab1\" class=\"tab-content\">\n            <p>NYSE just put out a notice that the ticker $BLOCKS will start trading next week.</p>\n            <div class=\"footer\">Source: BBG</div>\n\n        </div>\n        <div id=\"tab2\" class=\"tab-content\">\n            <table>\n                <thead>\n                <tr>\n                    <th scope=\"col\">BLOCKS</th>\n                    <th scope=\"col\">HNEWS</th>\n                    <th scope=\"col\">GITHUB</th>\n                    <th scope=\"col\">HSC</th>\n                </tr>\n                </thead>\n                <tbody>\n                <tr>\n                    <th scope=\"row\">+5%</th>\n                    <th>+4%</th>\n                    <th>-5%</th>\n                    <th>+12%</th>\n                </tr>\n                </tbody>\n            </table>\n        </div>\n    </div>\n</div>\n</html>\n```\nThis will create a simple blocks UI:\n![quickstart.png](https://raw.githubusercontent.com/andredebuisne/blocks-ui/master/quickstart.png)\n\n## Motivation\nThere is simply no library today that is a light CSS/JS library that can help with\nthe visualization of data. There are many frameworks today that can display\nbeautiful dashboards, but they are either bloated, slow or simply not data specific.\n\n`Blocks UI` allows you to display your data is different blocks. Each block has:\n- A title\n- A subtitle (optional)\n- Tabs (optional)\n- A body\n- A footer (optional)\n\nA block body can contain:\n- Another block\n- Text\n- A chart\n- A number\n- Plain HTML\n\n## Features\n- Display individual metrics\n- Display tables / heatmaps\n- Display charts\n- Display maps (coming soon)\n- Display card lists\n- Display your custom HTML\n- Load data directly in your script (SSR) or via an API (JSON or CSV for now)\n- Add a navbar and a side menu\n- Add API healthchecks\n\n### Disclaimer\nThis library was originally built by hand, and I've recently picked it back up and use some LLM tools to help me move it\nalong at a faster pace. All reviews are manual, but please use carefully.\n","readmeFilename":"README.md"}