{"_id":"@anvme/nanocharts","_rev":"4-2c90932ef5d8c97c4ab116f79f668bfe","name":"@anvme/nanocharts","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@anvme/nanocharts","version":"1.0.0","keywords":["chart","svg","line-chart","bar-chart","pie-chart","lightweight","typescript"],"author":{"name":"anvme"},"license":"MIT","_id":"@anvme/nanocharts@1.0.0","maintainers":[{"name":"anvme","email":"stanislav.web@anv.me"}],"homepage":"https://github.com/anvme/nanocharts#readme","bugs":{"url":"https://github.com/anvme/nanocharts/issues"},"dist":{"shasum":"057203ccd988c00969e4b0ce0e29c63c9dabf205","tarball":"https://registry.npmjs.org/@anvme/nanocharts/-/nanocharts-1.0.0.tgz","fileCount":19,"integrity":"sha512-zWe31lQAyQ3g5ZIs07wzxHeXw3VFS9sf5XzCOzddCvbwdZ269cfMDTWYM1q2LpeWEuZcelcmhQ2WaHz4LeQVTQ==","signatures":[{"sig":"MEUCIEMM+lyU/Wl8yX6Pdi3NkMm9QdNeUthQwvyjC8uDyUL6AiEA+qoJOoh9h37rsQSrBgBwuEF8JIQN8tUN1YsN46VdXOw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anvme%2fnanocharts@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":478017},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/nanocharts.min.global.js","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./min":{"import":"./dist/index.min.js","require":"./dist/index.min.cjs"},"./iife":"./dist/nanocharts.global.js","./iife/min":"./dist/nanocharts.min.global.js","./style.css":"./dist/style.css","./style.min.css":"./dist/style.min.css"},"gitHead":"91df1bcd090b61d5fa362a8d3ae1dad92e61d7b6","scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"anvme","email":"stanislav.web@anv.me"},"jsdelivr":"./dist/nanocharts.min.global.js","repository":{"url":"git+https://github.com/anvme/nanocharts.git","type":"git"},"_npmVersion":"11.6.2","description":"Lightweight SVG+HTML hybrid charts (line + bar + pie). Zero dependencies, typed.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.9.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocharts_1.0.0_1770723704017_0.2394856930982614","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@anvme/nanocharts","version":"1.0.1","keywords":["chart","svg","line-chart","bar-chart","pie-chart","lightweight","typescript"],"author":{"name":"anvme"},"license":"MIT","_id":"@anvme/nanocharts@1.0.1","maintainers":[{"name":"anvme","email":"stanislav.web@anv.me"}],"homepage":"https://github.com/anvme/nanocharts#readme","bugs":{"url":"https://github.com/anvme/nanocharts/issues"},"dist":{"shasum":"ccf584566c143c7b385b83c0cba0c1c165199d04","tarball":"https://registry.npmjs.org/@anvme/nanocharts/-/nanocharts-1.0.1.tgz","fileCount":19,"integrity":"sha512-YcQnlzMrLWvp2aTiNnSbONankdZ8ta/oQ/L64hxVeMe+2eWnJxzBuFszCkGhUtb53tzMjj5LNYPA4Oyz8WCvBQ==","signatures":[{"sig":"MEUCIQDqLU74KWORb2cBMXl0xnXpYvUvy2EEQkHNHzLwKxZ/vAIgH6BvS7/i7IT9t6Eoy33hjEAA5oNOiJBX6YOTd66jbgQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anvme%2fnanocharts@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":496982},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/nanocharts.min.global.js","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./min":{"import":"./dist/index.min.js","require":"./dist/index.min.cjs"},"./iife":"./dist/nanocharts.global.js","./iife/min":"./dist/nanocharts.min.global.js","./style.css":"./dist/style.css","./style.min.css":"./dist/style.min.css"},"gitHead":"c29141f483f9938d13cedc0af2ad96ca7105f037","scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"anvme","email":"stanislav.web@anv.me"},"jsdelivr":"./dist/nanocharts.min.global.js","repository":{"url":"git+https://github.com/anvme/nanocharts.git","type":"git"},"_npmVersion":"11.6.2","description":"Lightweight SVG+HTML hybrid charts (line + bar + pie). Zero dependencies, typed.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.9.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocharts_1.0.1_1770727707266_0.3593709008440831","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@anvme/nanocharts","version":"1.0.2","keywords":["chart","svg","line-chart","bar-chart","pie-chart","lightweight","typescript"],"author":{"name":"anvme"},"license":"MIT","_id":"@anvme/nanocharts@1.0.2","maintainers":[{"name":"anvme","email":"stanislav.web@anv.me"}],"homepage":"https://github.com/anvme/nanocharts#readme","bugs":{"url":"https://github.com/anvme/nanocharts/issues"},"dist":{"shasum":"3e20540d473c63f0abd02a15b4bfe9e446ce1f23","tarball":"https://registry.npmjs.org/@anvme/nanocharts/-/nanocharts-1.0.2.tgz","fileCount":19,"integrity":"sha512-5JwcVzB3oqbMVJTU81HSy96d/OzuR9qzzqmvTAxn+U1CRMU2LleGWHRz7YzlAmxheBgZMwZIoXuTRz8P0C0gUA==","signatures":[{"sig":"MEUCIQDXtUWupGbRNTmwh9OPjM0PgkDoI1mQ76eR0+cMHOPdGAIgfovUIKK1AxlLPqVWPlElbGX+7Iedjc4ZLtAWp1Jl8pY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anvme%2fnanocharts@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":498206},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/nanocharts.min.global.js","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./min":{"import":"./dist/index.min.js","require":"./dist/index.min.cjs"},"./iife":"./dist/nanocharts.global.js","./iife/min":"./dist/nanocharts.min.global.js","./style.css":"./dist/style.css","./style.min.css":"./dist/style.min.css"},"gitHead":"5f3d8c31ec5d008c2536d9516dcc53402855ff83","scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"anvme","email":"stanislav.web@anv.me"},"jsdelivr":"./dist/nanocharts.min.global.js","repository":{"url":"git+https://github.com/anvme/nanocharts.git","type":"git"},"_npmVersion":"11.6.2","description":"Lightweight SVG+HTML hybrid charts (line + bar + pie). Zero dependencies, typed.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.9.0"},"_npmOperationalInternal":{"tmp":"tmp/nanocharts_1.0.2_1770752498836_0.9734369603742583","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@anvme/nanocharts","version":"1.0.3","description":"Lightweight SVG+HTML hybrid charts (line + bar + pie). Zero dependencies, typed.","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","jsdelivr":"./dist/nanocharts.min.global.js","unpkg":"./dist/nanocharts.min.global.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./style.css":"./dist/style.css","./style.min.css":"./dist/style.min.css","./min":{"import":"./dist/index.min.js","require":"./dist/index.min.cjs"},"./iife":"./dist/nanocharts.global.js","./iife/min":"./dist/nanocharts.min.global.js"},"scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"sideEffects":["**/*.css"],"keywords":["chart","svg","line-chart","bar-chart","pie-chart","lightweight","typescript"],"author":{"name":"anvme"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/anvme/nanocharts.git"},"homepage":"https://github.com/anvme/nanocharts#readme","bugs":{"url":"https://github.com/anvme/nanocharts/issues"},"devDependencies":{"tsup":"^8.5.0","typescript":"^5.9.0"},"gitHead":"f54c3c8ff2fd19b78338980df01127e3fad02a5d","_id":"@anvme/nanocharts@1.0.3","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-1KGjw5Z9hiqqwVGWenIY4Hp4YCU0NF+BU9mZIY2ZpL4947L9tNF3sLkTmfT/B5DC1a09QNDQOX/okmhmvAvZeA==","shasum":"26bad2d2be45ec9457b913df54e872a0f3e7e2d4","tarball":"https://registry.npmjs.org/@anvme/nanocharts/-/nanocharts-1.0.3.tgz","fileCount":19,"unpackedSize":498148,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anvme%2fnanocharts@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB0Ja+HDmNwFtMVM3M61cbP59v+SZu7+aKVZwj1kaxJwAiAfb5HH+NdCiGMGOplCes6aFNlr7bhsE6fZ9XmK39rtFA=="}]},"_npmUser":{"name":"anvme","email":"stanislav.web@anv.me"},"directories":{},"maintainers":[{"name":"anvme","email":"stanislav.web@anv.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nanocharts_1.0.3_1770758242674_0.9469955111199428"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-10T11:41:43.918Z","modified":"2026-02-10T21:17:23.131Z","1.0.0":"2026-02-10T11:41:44.185Z","1.0.1":"2026-02-10T12:48:27.430Z","1.0.2":"2026-02-10T19:41:39.001Z","1.0.3":"2026-02-10T21:17:22.856Z"},"bugs":{"url":"https://github.com/anvme/nanocharts/issues"},"author":{"name":"anvme"},"license":"MIT","homepage":"https://github.com/anvme/nanocharts#readme","keywords":["chart","svg","line-chart","bar-chart","pie-chart","lightweight","typescript"],"repository":{"type":"git","url":"git+https://github.com/anvme/nanocharts.git"},"description":"Lightweight SVG+HTML hybrid charts (line + bar + pie). Zero dependencies, typed.","maintainers":[{"name":"anvme","email":"stanislav.web@anv.me"}],"readme":"# nanocharts\n\nLightweight SVG+HTML hybrid charts. Zero dependencies, typed. Line, bar & pie.\n\n- **~4.4 KB** brotli (JS ~3.7 KB + CSS ~0.7 KB), ~12 KB minified\n- **< 0.5 ms** render time — `innerHTML` single-write, zero reflows\n- **Zero dependencies**\n- **TypeScript** declarations included\n- **Dark mode** via `prefers-color-scheme`, Bootstrap, Tailwind, or standalone\n- **CSS custom properties** for full theming control\n- **Int16Array/Float64Array** typed arrays for cache-friendly math\n- **Lazy hover** — tooltip & indicator DOM created only on first interaction\n\n**[Live Examples](https://anvme.github.io/nanocharts/examples.html)**\n\n## Install\n\n```bash\nnpm install @anvme/nanocharts\n```\n\n```js\nimport { NanoLineChart, NanoBarChart, NanoPieChart } from '@anvme/nanocharts';\nimport '@anvme/nanocharts/style.css';\n```\n\n### CDN\n\n```html\n<link href=\"https://cdn.jsdelivr.net/npm/@anvme/nanocharts@1.0.3/dist/style.min.css\" rel=\"stylesheet\">\n<script src=\"https://cdn.jsdelivr.net/npm/@anvme/nanocharts@1.0.3/dist/nanocharts.min.global.js\"></script>\n```\n\n## Usage\n\n```html\n<div id=\"chart\" style=\"max-width: 600px\"></div>\n\n<script>\nNanoLineChart('chart', {\n  data: [[5, 12, 8, 20, 15, 25, 18]],\n  labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n  xLabel: 'Day',\n  yLabel: 'Sales'\n});\n</script>\n```\n\n```js\nNanoBarChart('chart', {\n  data: [[40, 65, 30, 80, 55]],\n  labels: ['Chrome', 'Firefox', 'Safari', 'Edge', 'Other'],\n  xLabel: 'Browser',\n  yLabel: 'Users'\n});\n```\n\n```js\nNanoPieChart('chart', {\n  data: [40, 25, 20, 15],\n  labels: ['Desktop', 'Mobile', 'Tablet', 'Other'],\n  donut: true,\n  donutWidth: 50\n});\n```\n\n## API\n\n### NanoLineChart(containerId, config)\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `data` | `number[][]` | -- | Array of series |\n| `labels` | `string[]` | -- | X-axis labels |\n| `xLabel` | `string` | `''` | X-axis title |\n| `yLabel` | `string` | `''` | Y-axis title |\n| `colors` | `string[]` | brand palette | Color per series |\n| `width` | `number` | container width | Chart width in px |\n| `height` | `number` | `350` | Chart height in px |\n| `smooth` | `boolean` | `false` | Catmull-Rom spline smoothing |\n| `areaFill` | `boolean` | `false` | Fill under lines |\n| `areaOpacity` | `number` | `0.1` | Area fill opacity |\n| `strokeWidth` | `number` | `2.5` | Line stroke width |\n| `showTicks` | `boolean` | `true` | Show tick labels |\n| `showGrid` | `boolean` | `true` | Show grid lines |\n| `gridDashed` | `boolean` | `false` | Dashed grid lines |\n| `hover` | `boolean` | `true` | Enable hover tooltip |\n\n### NanoBarChart(containerId, config)\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `data` | `number[][]` | -- | Array of series |\n| `labels` | `string[]` | -- | Category labels |\n| `xLabel` | `string` | `''` | X-axis title |\n| `yLabel` | `string` | `''` | Y-axis title |\n| `colors` | `string[]` | brand palette | Color per series |\n| `width` | `number` | container width | Chart width in px |\n| `height` | `number` | `350` | Chart height in px |\n| `stacked` | `boolean` | `false` | Stack series |\n| `horizontal` | `boolean` | `false` | Horizontal bars |\n| `barGap` | `number` | `0.2` | Gap between groups (0-1) |\n| `showTicks` | `boolean` | `true` | Show tick labels |\n| `showGrid` | `boolean` | `true` | Show grid lines |\n| `gridDashed` | `boolean` | `false` | Dashed grid lines |\n| `hover` | `boolean` | `true` | Enable hover tooltip |\n\n### NanoPieChart(containerId, config)\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `data` | `number[]` | -- | Value per slice |\n| `labels` | `string[]` | -- | Label per slice |\n| `colors` | `string[]` | brand palette | Color per slice |\n| `width` | `number` | container width | Chart width in px |\n| `height` | `number` | = width | Chart height in px |\n| `donut` | `boolean` | `false` | Donut mode |\n| `donutWidth` | `number` | `60` | Ring thickness in px |\n| `showLabels` | `boolean` | `true` | Show labels outside slices |\n| `hover` | `boolean` | `true` | Enable hover tooltip |\n\n## Dark Mode\n\nCharts auto-adapt via `prefers-color-scheme`. Force dark mode with:\n\n```html\n<html data-bs-theme=\"dark\">   <!-- Bootstrap 5.3 -->\n<html class=\"dark\">            <!-- Tailwind -->\n<div class=\"chart-dark\">       <!-- Standalone -->\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}