{"_id":"@astryx-svelte/theme-butter","_rev":"5-197ee1bc6f32a87691a71c365ccebf8b","name":"@astryx-svelte/theme-butter","dist-tags":{"latest":"0.5.2"},"versions":{"0.3.0":{"name":"@astryx-svelte/theme-butter","version":"0.3.0","license":"MIT","_id":"@astryx-svelte/theme-butter@0.3.0","maintainers":[{"name":"devrohit06","email":"technicalrohit06@gmail.com"}],"homepage":"https://github.com/devrohit06/astryx-svelte#readme","bugs":{"url":"https://github.com/devrohit06/astryx-svelte/issues"},"dist":{"shasum":"b71af107ab0c41fd95b9ae8720c6bc70b1e1e45f","tarball":"https://registry.npmjs.org/@astryx-svelte/theme-butter/-/theme-butter-0.3.0.tgz","fileCount":11,"integrity":"sha512-JyLLftyengGCRiPp4ER12D0BE/YKihGGIYI2X7JY/HgoRXlex6QG3Jd9dVAMCblLjfPML2dVOxWEhBirv6WHyQ==","signatures":[{"sig":"MEQCIEXdvykX47M/jg7Ggx0bQtspPh+ISPngmsgPc6HPr38QAiB/RB9bzvMo19qUqwnHkVPv1VtN+G6LWQtvW/sBvGO9MQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109415},"type":"module","_from":"file:astryx-svelte-theme-butter-0.3.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","svelte":"./dist/index.js"},"./tokens":{"types":"./dist/tokens.d.ts","import":"./dist/tokens.js","svelte":"./dist/tokens.js"},"./theme.css":"./dist/theme.css"},"scripts":{"lint":"prettier --check .","test":"npm run build && npm run test:parity && npm run test:icons","build":"node --experimental-strip-types scripts/build-theme.mjs","check":"tsc --noEmit -p tsconfig.json","format":"prettier --write .","test:icons":"node scripts/check-icons.mjs","test:parity":"node scripts/compare-upstream.mjs"},"_npmUser":{"name":"devrohit06","email":"technicalrohit06@gmail.com"},"_resolved":"/tmp/584da4ac9d68fc0be56dd361a760eaf2/astryx-svelte-theme-butter-0.3.0.tgz","_integrity":"sha512-JyLLftyengGCRiPp4ER12D0BE/YKihGGIYI2X7JY/HgoRXlex6QG3Jd9dVAMCblLjfPML2dVOxWEhBirv6WHyQ==","repository":{"url":"git+https://github.com/devrohit06/astryx-svelte.git","type":"git","directory":"packages/themes/butter"},"_npmVersion":"10.9.8","description":"Butter theme for astryx-svelte — warm, creamy yellows with a friendly blue accent.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@lucide/svelte":"^1.25.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^5.56.1","prettier":"^3.8.3","typescript":"^6.0.3","@astryx-svelte/core":"0.3.0","prettier-plugin-svelte":"^4.1.0","@astryxdesign/theme-butter":"0.3.0"},"peerDependencies":{"svelte":"^5.0.0","@astryx-svelte/core":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-butter_0.3.0_1786380827727_0.35057003410411247","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@astryx-svelte/theme-butter","version":"0.3.1","license":"MIT","_id":"@astryx-svelte/theme-butter@0.3.1","maintainers":[{"name":"devrohit06","email":"technicalrohit06@gmail.com"}],"homepage":"https://github.com/devrohit06/astryx-svelte#readme","bugs":{"url":"https://github.com/devrohit06/astryx-svelte/issues"},"dist":{"shasum":"7cea88771e09d038a7ff2fb551b84403f1b705c5","tarball":"https://registry.npmjs.org/@astryx-svelte/theme-butter/-/theme-butter-0.3.1.tgz","fileCount":11,"integrity":"sha512-1duurYJVFBSo87ckmQaAMG9YdTIaTaFq9iQiV3fshlSq5gTmMJvfVhveiUyC4FaE5QMB/39LSi0Ve59h4kKxqA==","signatures":[{"sig":"MEYCIQDUOa1ZBaRGtJoC+kgyHC4pw55LLmP2Zw2fafKBWwWs6QIhANRPYfWH1o3MqQnC7Mb6URcnFfSiZi2uwe19dcNEvJfv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109444},"main":"./dist/index.js","type":"module","_from":"file:astryx-svelte-theme-butter-0.3.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","svelte":"./dist/index.js"},"./tokens":{"types":"./dist/tokens.d.ts","import":"./dist/tokens.js","svelte":"./dist/tokens.js"},"./theme.css":"./dist/theme.css"},"scripts":{"lint":"prettier --check .","test":"npm run build && npm run test:parity && npm run test:icons","build":"node --experimental-strip-types scripts/build-theme.mjs","check":"tsc --noEmit -p tsconfig.json","format":"prettier --write .","test:icons":"node scripts/check-icons.mjs","test:parity":"node scripts/compare-upstream.mjs"},"_npmUser":{"name":"devrohit06","email":"technicalrohit06@gmail.com"},"_resolved":"/tmp/aa3f1ce2f24eea7bdeab01373875cc99/astryx-svelte-theme-butter-0.3.1.tgz","_integrity":"sha512-1duurYJVFBSo87ckmQaAMG9YdTIaTaFq9iQiV3fshlSq5gTmMJvfVhveiUyC4FaE5QMB/39LSi0Ve59h4kKxqA==","repository":{"url":"git+https://github.com/devrohit06/astryx-svelte.git","type":"git","directory":"packages/themes/butter"},"_npmVersion":"10.9.8","description":"Butter theme for astryx-svelte — warm, creamy yellows with a friendly blue accent.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@lucide/svelte":"^1.25.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^5.56.1","prettier":"^3.8.3","typescript":"^6.0.3","@astryx-svelte/core":"0.3.1","prettier-plugin-svelte":"^4.1.0","@astryxdesign/theme-butter":"0.3.0"},"peerDependencies":{"svelte":"^5.0.0","@astryx-svelte/core":"^0.3.1"},"_npmOperationalInternal":{"tmp":"tmp/theme-butter_0.3.1_1786402095143_0.3707810322213041","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@astryx-svelte/theme-butter","version":"0.4.1","license":"MIT","_id":"@astryx-svelte/theme-butter@0.4.1","maintainers":[{"name":"devrohit06","email":"technicalrohit06@gmail.com"}],"homepage":"https://github.com/devrohit06/astryx-svelte#readme","bugs":{"url":"https://github.com/devrohit06/astryx-svelte/issues"},"dist":{"shasum":"0dd4ee773c3f41e4be0c7220cdd7808faa735602","tarball":"https://registry.npmjs.org/@astryx-svelte/theme-butter/-/theme-butter-0.4.1.tgz","fileCount":11,"integrity":"sha512-twMnNoTLkMoFAJIUX/l4K4cZgq8XAFr3aySxw4oGNPLWMpYeobQGIUqAfYWroAUSpVNFFatCkLXKh8ebyhYFig==","signatures":[{"sig":"MEUCIALtkDBSQvyC82qDmOszaZIFCAcoMwZS5a/4quPAyxfrAiEAjkU8NojumKl+ivvJOyDf6U8FxbNeoLQGelcPMhW6FBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110479},"main":"./dist/index.js","type":"module","_from":"file:astryx-svelte-theme-butter-0.4.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","svelte":"./dist/index.js"},"./tokens":{"types":"./dist/tokens.d.ts","import":"./dist/tokens.js","svelte":"./dist/tokens.js"},"./theme.css":"./dist/theme.css"},"scripts":{"lint":"prettier --check .","test":"npm run build && npm run test:parity && npm run test:icons","build":"node --experimental-strip-types scripts/build-theme.mjs","check":"tsc --noEmit -p tsconfig.json","format":"prettier --write .","test:icons":"node scripts/check-icons.mjs","test:parity":"node scripts/compare-upstream.mjs"},"_npmUser":{"name":"devrohit06","email":"technicalrohit06@gmail.com"},"_resolved":"/tmp/d0fd456d217a3869bb5c021935c81969/astryx-svelte-theme-butter-0.4.1.tgz","_integrity":"sha512-twMnNoTLkMoFAJIUX/l4K4cZgq8XAFr3aySxw4oGNPLWMpYeobQGIUqAfYWroAUSpVNFFatCkLXKh8ebyhYFig==","repository":{"url":"git+https://github.com/devrohit06/astryx-svelte.git","type":"git","directory":"packages/themes/butter"},"_npmVersion":"10.9.8","description":"Butter theme for astryx-svelte — warm, creamy yellows with a friendly blue accent.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@lucide/svelte":"^1.25.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^5.56.1","prettier":"^3.8.3","typescript":"^6.0.3","@astryx-svelte/core":"0.4.1","prettier-plugin-svelte":"^4.1.0","@astryxdesign/theme-butter":"0.4.1"},"peerDependencies":{"svelte":"^5.0.0","@astryx-svelte/core":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/theme-butter_0.4.1_1786871769177_0.23894839388832523","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@astryx-svelte/theme-butter","version":"0.4.5","license":"MIT","_id":"@astryx-svelte/theme-butter@0.4.5","maintainers":[{"name":"devrohit06","email":"technicalrohit06@gmail.com"}],"homepage":"https://github.com/devrohit06/astryx-svelte#readme","bugs":{"url":"https://github.com/devrohit06/astryx-svelte/issues"},"dist":{"shasum":"9e7b455648e4267247f5975f534e2acc48565d4b","tarball":"https://registry.npmjs.org/@astryx-svelte/theme-butter/-/theme-butter-0.4.5.tgz","fileCount":11,"integrity":"sha512-lwsdEivlItgBj1V8tVY4SGx9CPqZY5GK8qnyUkj7VZ15U/pISeggt01pGqK2ZU7I8UkVy/90g3KPzGmuOJZVqw==","signatures":[{"sig":"MEUCIQCIwaDEBMFlK6R3XEHXMJKqrXVzKB1xHxJ8LDh1Gq2/0gIgU/ByurBJH0ygHgr0qMhgMlt3sx9bhrk2WEfaVdpG9NU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111184},"main":"./dist/index.js","type":"module","_from":"file:astryx-svelte-theme-butter-0.4.5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","svelte":"./dist/index.js"},"./tokens":{"types":"./dist/tokens.d.ts","import":"./dist/tokens.js","svelte":"./dist/tokens.js"},"./theme.css":"./dist/theme.css"},"scripts":{"lint":"prettier --check .","test":"npm run build && npm run test:parity && npm run test:icons","build":"node --experimental-strip-types scripts/build-theme.mjs","check":"tsc --noEmit -p tsconfig.json","format":"prettier --write .","test:icons":"node scripts/check-icons.mjs","test:parity":"node scripts/compare-upstream.mjs"},"_npmUser":{"name":"devrohit06","email":"technicalrohit06@gmail.com"},"_resolved":"/tmp/5658574c220d409a58daa7e6fa8d8345/astryx-svelte-theme-butter-0.4.5.tgz","_integrity":"sha512-lwsdEivlItgBj1V8tVY4SGx9CPqZY5GK8qnyUkj7VZ15U/pISeggt01pGqK2ZU7I8UkVy/90g3KPzGmuOJZVqw==","repository":{"url":"git+https://github.com/devrohit06/astryx-svelte.git","type":"git","directory":"packages/themes/butter"},"_npmVersion":"10.9.8","description":"Butter theme for astryx-svelte — warm, creamy yellows with a friendly blue accent.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@lucide/svelte":"^1.25.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^5.56.1","prettier":"^3.8.3","typescript":"^6.0.3","@astryx-svelte/core":"0.4.5","prettier-plugin-svelte":"^4.1.0","@astryxdesign/theme-butter":"0.4.5"},"peerDependencies":{"svelte":"^5.0.0","@astryx-svelte/core":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/theme-butter_0.4.5_1787264398107_0.7990722587884629","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@astryx-svelte/theme-butter","version":"0.5.2","description":"Butter theme for astryx-svelte — warm, creamy yellows with a friendly blue accent.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/devrohit06/astryx-svelte.git","directory":"packages/themes/butter"},"bugs":{"url":"https://github.com/devrohit06/astryx-svelte/issues"},"homepage":"https://github.com/devrohit06/astryx-svelte#readme","publishConfig":{"access":"public"},"type":"module","main":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","import":"./dist/index.js"},"./tokens":{"types":"./dist/tokens.d.ts","svelte":"./dist/tokens.js","import":"./dist/tokens.js"},"./theme.css":"./dist/theme.css"},"dependencies":{"@lucide/svelte":"^1.25.0"},"peerDependencies":{"svelte":"^5.0.0","@astryx-svelte/core":"^0.5.2"},"devDependencies":{"@astryxdesign/theme-butter":"0.5.2","prettier":"^3.8.3","prettier-plugin-svelte":"^4.1.0","svelte":"^5.56.1","typescript":"^6.0.3","@astryx-svelte/core":"0.5.2"},"scripts":{"build":"node --experimental-strip-types scripts/build-theme.mjs","check":"tsc --noEmit -p tsconfig.json","lint":"prettier --check .","format":"prettier --write .","test:parity":"node scripts/compare-upstream.mjs","test:icons":"node scripts/check-icons.mjs","test":"npm run build && npm run test:parity && npm run test:icons"},"_id":"@astryx-svelte/theme-butter@0.5.2","types":"./dist/index.d.ts","_integrity":"sha512-BNNbg19BryPMhnZxcwEOEeUuwljBWZtg8pGlAorPUjIcUtV5/R/xamjgO/n+pd+catr1gAfsjKRjCKWfCQqbkg==","_resolved":"/tmp/d98c77d7f3429bbe80c1dec8e03fa1cc/astryx-svelte-theme-butter-0.5.2.tgz","_from":"file:astryx-svelte-theme-butter-0.5.2.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-BNNbg19BryPMhnZxcwEOEeUuwljBWZtg8pGlAorPUjIcUtV5/R/xamjgO/n+pd+catr1gAfsjKRjCKWfCQqbkg==","shasum":"a645e50e9725f37a666ecb1c0904d221baa15ef9","tarball":"https://registry.npmjs.org/@astryx-svelte/theme-butter/-/theme-butter-0.5.2.tgz","fileCount":11,"unpackedSize":114545,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBvMpFjf9w5v313+wWK/iA06YpC0tncGAAib329BDQiGAiEAi5BZ9WJy4n/PoK6MwWx/CYrkL0nWh1Eu2Opi/36yRLI="}]},"_npmUser":{"name":"devrohit06","email":"technicalrohit06@gmail.com"},"directories":{},"maintainers":[{"name":"devrohit06","email":"technicalrohit06@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/theme-butter_0.5.2_1788304787760_0.9734065384505441"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-10T16:53:47.526Z","modified":"2026-09-01T23:19:48.135Z","0.3.0":"2026-08-10T16:53:47.892Z","0.3.1":"2026-08-10T22:48:15.347Z","0.4.1":"2026-08-16T09:16:09.310Z","0.4.5":"2026-08-20T22:19:58.261Z","0.5.2":"2026-09-01T23:19:47.907Z"},"bugs":{"url":"https://github.com/devrohit06/astryx-svelte/issues"},"license":"MIT","homepage":"https://github.com/devrohit06/astryx-svelte#readme","repository":{"type":"git","url":"git+https://github.com/devrohit06/astryx-svelte.git","directory":"packages/themes/butter"},"description":"Butter theme for astryx-svelte — warm, creamy yellows with a friendly blue accent.","maintainers":[{"name":"devrohit06","email":"technicalrohit06@gmail.com"}],"readme":"# @astryx-svelte/theme-butter\n\nWarm, creamy yellows with a friendly blue accent.\n\nA theme for [astryx-svelte](https://github.com/devrohit06/astryx-svelte) — a Svelte 5 port of [Astryx](https://astryx.atmeta.com/),\nMeta's open source design system. Unofficial, and not affiliated with Meta.\n\n## Install\n\n```bash\nnpm install @astryx-svelte/core @astryx-svelte/theme-butter\n```\n\n`@stylexjs/stylex` is a peer dependency and npm and pnpm install it for you. It is required at\nruntime — the components reach `stylex.props()` through `sx()` — so add it explicitly if your\npackage manager does not resolve peers automatically.\n\n`@astryx-svelte/core` is a peer dependency. A theme is data plus one stylesheet; it renders\nnothing on its own.\n\n## Use\n\n```css\n/* src/app.css */\n@import '@astryx-svelte/core/base.css';\n@import '@astryx-svelte/theme-butter/theme.css';\n```\n\n```svelte\n<!-- src/routes/+layout.svelte -->\n<script lang=\"ts\">\n\timport { Theme } from '@astryx-svelte/core';\n\timport { butterTheme } from '@astryx-svelte/theme-butter';\n\timport '../app.css';\n\n\tconst { children } = $props();\n</script>\n\n<Theme theme={butterTheme}>\n\t{@render children()}\n</Theme>\n```\n\n`base.css` is not optional and is not a duplicate: it declares the cascade layer order and sets\n`color-scheme`, without which every `light-dark()` token is inert. And **your bundler must run the\nStyleX compiler** over `@astryx-svelte/core`, which is the one setup step that fails without an\nerror — the components render, unstyled. See\n[core's README](https://github.com/devrohit06/astryx-svelte/tree/main/packages/core#your-bundler-must-run-the-stylex-compiler).\n\n## Exports\n\n| Export                                  | What it is                                                                                                                                                                    |\n| --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `butterTheme`                           | The theme object, pre-built. It carries `__built`, so `<Theme>` injects no CSS at runtime.                                                                                    |\n| `butterIconRegistry`                    | The 28 semantic icon names mapped to Lucide glyphs. Already attached to `butterTheme.icons`; exported separately for `registerIcons()` and for composing a theme of your own. |\n| `butterPalettes`                        | The raw tonal palettes, as upstream's package publishes them — pure data, the ramps the token values were picked from.                                                        |\n| `@astryx-svelte/theme-butter/tokens`    | The same theme as plain data, without `icons`, in a module that imports nothing. Readable by plain Node, which the `.` entry is not — it reaches a `.svelte` registry.        |\n| `@astryx-svelte/theme-butter/theme.css` | The pre-built stylesheet.                                                                                                                                                     |\n\n## Fidelity\n\nThe theme oracle (`scripts/compare-upstream.mjs`) diffs this package's generated CSS\ndeclaration by declaration against the published `@astryxdesign/theme-butter` tarball, in\n**both** directions — a missing declaration, a wrong value and an invented one all fail the\nrun. Every declaration matches, at **0 mismatches**.\n\nThe run prints the totals; this paragraph deliberately does not, because a count written into\nprose goes stale quietly and these ones had. Where the two totals differ, the remainder is the\n`color-scheme` rules that `@astryx-svelte/core`'s `base.css` owns rather than the theme. A\ndark-only theme declares no `[light, dark]` pairs, so upstream emits no `html[data-theme=…]`\nblock for it and the totals are equal.\n\n## Resources\n\n- [The documentation site](https://astryx-svelte.rohitk06.in/themes) — every theme rendered live,\n  side by side\n- [Astryx](https://astryx.atmeta.com/) — the design system this ports\n- [The repository](https://github.com/devrohit06/astryx-svelte)\n\n## License\n\nMIT. Astryx is © Meta Platforms, Inc. and affiliates; this project ports its design and reuses its\ndocumentation prose, and claims no affiliation or endorsement.\n","readmeFilename":"README.md"}