{"_id":"@bonsai-components/palette-pantry","name":"@bonsai-components/palette-pantry","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.1":{"name":"@bonsai-components/palette-pantry","version":"0.1.1","description":"Battle-tested color palettes for data visualization","license":"(MIT OR Apache-2.0)","main":"./dist/index.js","types":"./dist/index.d.ts","public":true,"scripts":{"build":"cti -b ./src && tsc","check-types":"tsc --noEmit","rebuild":"rm -rf node_modules && rm -f package-lock.json && npm install","prettier-check":"prettier --config package.json --list-different '{,**/}*.{js,ts,json,graphql}'","prettier-format":"prettier --config package.json --write '{,**/}*.{js,ts,json,graphql}'"},"author":{"name":"Kyle Scully"},"keywords":["color","palette","visualization","data-viz","colors","bonsai","bonsai-components"],"repository":{"type":"git","url":"git+https://github.com/zieka/bonsai-components.git#main"},"publishConfig":{"access":"public"},"gitHead":"1321dbb178a7d25bc599be3cf1d58db9ab5ec0bb","_id":"@bonsai-components/palette-pantry@0.1.1","bugs":{"url":"https://github.com/zieka/bonsai-components/issues"},"homepage":"https://github.com/zieka/bonsai-components/tree/main#readme","_nodeVersion":"22.16.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-G2lltVX4cd35HyXgdlPmUq0Y+EWbehST6c8LC9mIPuXn0Xxpqg81uQw6fS58tNG+bjOIRzYRoThxHpcyAx0Zdg==","shasum":"551b89a7cf1fee21f07552f71564b0ba573e437f","tarball":"https://registry.npmjs.org/@bonsai-components/palette-pantry/-/palette-pantry-0.1.1.tgz","fileCount":16,"unpackedSize":39348,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDiwQ0VqjhqyzKIh76WWkYE1x5ZeqiDzShHkrlP7QacyQIhAM9UX+CrnJNuBj5rDoBsUX9TpPwcChSTRK0GHrcv8/XF"}]},"_npmUser":{"name":"zieka","email":"scullykns@gmail.com"},"directories":{},"maintainers":[{"name":"zieka","email":"scullykns@gmail.com"},{"name":"sjungling","email":"scott.jungling@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/palette-pantry_0.1.1_1766173975579_0.8142460929765394"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-19T19:52:55.465Z","0.1.1":"2025-12-19T19:52:55.723Z","modified":"2025-12-19T19:52:56.071Z"},"maintainers":[{"name":"zieka","email":"scullykns@gmail.com"},{"name":"sjungling","email":"scott.jungling@gmail.com"}],"description":"Battle-tested color palettes for data visualization","homepage":"https://github.com/zieka/bonsai-components/tree/main#readme","keywords":["color","palette","visualization","data-viz","colors","bonsai","bonsai-components"],"repository":{"type":"git","url":"git+https://github.com/zieka/bonsai-components.git#main"},"author":{"name":"Kyle Scully"},"bugs":{"url":"https://github.com/zieka/bonsai-components/issues"},"license":"(MIT OR Apache-2.0)","readme":"# @bonsai-components/palette-pantry\n\nBattle-tested color palettes for data visualization.\n\n## Installation\n\n```bash\nnpm install @bonsai-components/palette-pantry\n```\n\n## Usage\n\n```typescript\nimport {\n  CategoricalPalettes,\n  SequentialPalettes,\n  DivergingPalettes,\n} from '@bonsai-components/palette-pantry';\n\n// Categorical - for distinct categories\nconst categoryColor = CategoricalPalettes.AdobeSpectrum12[0]; // '#0eb6ad'\n\n// Sequential - for ordered data (low to high)\nconst heatmapColors = SequentialPalettes.ColorBrewerBlues9;\n\n// Diverging - for data with a meaningful midpoint\nconst temperatureScale = DivergingPalettes.ColorBrewerRdBu11;\n```\n\n## Available Palettes\n\n### Categorical Palettes\n\nFor distinguishing between discrete categories.\n\n| Name | Colors | Source |\n|------|--------|--------|\n| `ColorBrewerAccent8` | 8 | ColorBrewer |\n| `ColorBrewerDark28` | 8 | ColorBrewer |\n| `ColorBrewerPaired12` | 12 | ColorBrewer |\n| `ColorBrewerPastel19` | 9 | ColorBrewer |\n| `ColorBrewerPastel28` | 8 | ColorBrewer |\n| `ColorBrewerSet19` | 9 | ColorBrewer |\n| `ColorBrewerSet28` | 8 | ColorBrewer |\n| `ColorBrewerSet312` | 12 | ColorBrewer |\n| `IbmCarbon14` | 14 | IBM Carbon Design System |\n| `AdobeSpectrum12` | 12 | Adobe Spectrum |\n\n### Sequential Palettes\n\nFor ordered data that progresses from low to high values.\n\n**Single-hue:**\n- `ColorBrewerBlues9`, `ColorBrewerGreens9`, `ColorBrewerGreys9`\n- `ColorBrewerOranges9`, `ColorBrewerPurples9`, `ColorBrewerReds9`\n\n**Multi-hue:**\n- `ColorBrewerBuGn9`, `ColorBrewerBuPu9`, `ColorBrewerGnBu9`\n- `ColorBrewerOrRd9`, `ColorBrewerPuBu9`, `ColorBrewerPuBuGn9`\n- `ColorBrewerPuRd9`, `ColorBrewerRdPu9`, `ColorBrewerYlGn9`\n- `ColorBrewerYlGnBu9`, `ColorBrewerYlOrBr9`, `ColorBrewerYlOrRd9`\n\n### Diverging Palettes\n\nFor data with a meaningful midpoint (e.g., zero, average).\n\n- `ColorBrewerBrBG11`, `ColorBrewerPiYG11`, `ColorBrewerPRGn11`\n- `ColorBrewerPuOr11`, `ColorBrewerRdBu11`, `ColorBrewerRdGy11`\n- `ColorBrewerRdYlBu11`, `ColorBrewerRdYlGn11`, `ColorBrewerSpectral11`\n\n## Type Safety\n\nAll palettes are typed as readonly tuples with literal string types:\n\n```typescript\n// TypeScript knows the exact type\nconst color = CategoricalPalettes.AdobeSpectrum12[0];\n// Type: \"#0eb6ad\"\n\n// Full palette type\ntype AdobePalette = typeof CategoricalPalettes.AdobeSpectrum12;\n// Type: readonly [\"#0eb6ad\", \"#4046ca\", \"#f68512\", ...]\n```\n\n## Sources\n\n- [ColorBrewer](https://colorbrewer2.org/) - Cynthia Brewer's color schemes for cartography\n- [IBM Carbon Design System](https://carbondesignsystem.com/data-visualization/color-palettes/)\n- [Adobe Spectrum](https://spectrum.adobe.com/page/color-for-data-visualization/)\n\n## License\n\nMIT OR Apache-2.0\n","readmeFilename":"README.md","_rev":"1-63ca4a0a1224befd2d0785bef153daf6"}