{"_id":"@astryx-svelte/theme-neutral","_rev":"5-1ed38993ac31e724de48e6a9fa371a62","name":"@astryx-svelte/theme-neutral","dist-tags":{"latest":"0.5.2"},"versions":{"0.3.0":{"name":"@astryx-svelte/theme-neutral","version":"0.3.0","license":"MIT","_id":"@astryx-svelte/theme-neutral@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":"e166b353229615d274bbbe75ca077a712f29d340","tarball":"https://registry.npmjs.org/@astryx-svelte/theme-neutral/-/theme-neutral-0.3.0.tgz","fileCount":11,"integrity":"sha512-lK5s7U0o5X5j+7rrJXsx1xRD4P4oWFDYk5AOUE5N9Zpxcmlsv+mOTUG79QDQznJjDLdVHWXock8K+A0YAAj1Cw==","signatures":[{"sig":"MEUCIQDpzgFkM0j7EnHBeJcbJBbOHY3UWYEMIPev4JK2TrODNgIgKnrHSn0uLtHMnWfVDB9dVm/FKt6WK+NGLVVUOJ59PEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81481},"type":"module","_from":"file:astryx-svelte-theme-neutral-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/401aedccdcd0f7b47b3c4df2e85a7bc8/astryx-svelte-theme-neutral-0.3.0.tgz","_integrity":"sha512-lK5s7U0o5X5j+7rrJXsx1xRD4P4oWFDYk5AOUE5N9Zpxcmlsv+mOTUG79QDQznJjDLdVHWXock8K+A0YAAj1Cw==","repository":{"url":"git+https://github.com/devrohit06/astryx-svelte.git","type":"git","directory":"packages/themes/neutral"},"_npmVersion":"10.9.8","description":"Neutral theme for astryx-svelte — the default Astryx look.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@lucide/svelte":"^1.25.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^5.56.1","vitest":"^4.1.10","prettier":"^3.8.3","typescript":"^6.0.3","@astryx-svelte/core":"0.3.0","prettier-plugin-svelte":"^4.1.0","@astryxdesign/theme-neutral":"0.3.0"},"peerDependencies":{"svelte":"^5.0.0","@astryx-svelte/core":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-neutral_0.3.0_1786380836799_0.9882346326784723","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@astryx-svelte/theme-neutral","version":"0.3.1","license":"MIT","_id":"@astryx-svelte/theme-neutral@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":"35047d270c95ca2d41c5ae1798c5a1a708f73dab","tarball":"https://registry.npmjs.org/@astryx-svelte/theme-neutral/-/theme-neutral-0.3.1.tgz","fileCount":11,"integrity":"sha512-83fW/VaxlCdNcrKnRy318rAnO4PhGiGS/6aBaMmG2bYCnfc5bk8sOrlZVYZxXmyi2id2KQzFwGmxiE9mC6Cz3A==","signatures":[{"sig":"MEYCIQDlF6UJx3wXDPgf0CCMBLaYytVsr7JfZzk0BEW5CPDGqQIhALg+0UcwBtEvh4jRClfN5caf12eEc0195CO6+6XHMmhO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81510},"main":"./dist/index.js","type":"module","_from":"file:astryx-svelte-theme-neutral-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/d296df0db236dd28a2e1a15ec300df94/astryx-svelte-theme-neutral-0.3.1.tgz","_integrity":"sha512-83fW/VaxlCdNcrKnRy318rAnO4PhGiGS/6aBaMmG2bYCnfc5bk8sOrlZVYZxXmyi2id2KQzFwGmxiE9mC6Cz3A==","repository":{"url":"git+https://github.com/devrohit06/astryx-svelte.git","type":"git","directory":"packages/themes/neutral"},"_npmVersion":"10.9.8","description":"Neutral theme for astryx-svelte — the default Astryx look.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@lucide/svelte":"^1.25.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^5.56.1","vitest":"^4.1.10","prettier":"^3.8.3","typescript":"^6.0.3","@astryx-svelte/core":"0.3.1","prettier-plugin-svelte":"^4.1.0","@astryxdesign/theme-neutral":"0.3.0"},"peerDependencies":{"svelte":"^5.0.0","@astryx-svelte/core":"^0.3.1"},"_npmOperationalInternal":{"tmp":"tmp/theme-neutral_0.3.1_1786402102566_0.19130345840514096","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@astryx-svelte/theme-neutral","version":"0.4.1","license":"MIT","_id":"@astryx-svelte/theme-neutral@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":"f654678e7bc1ce31c0ace813b8bc93e9c4cf6e7c","tarball":"https://registry.npmjs.org/@astryx-svelte/theme-neutral/-/theme-neutral-0.4.1.tgz","fileCount":11,"integrity":"sha512-RFIXeVVDSEivmyWawJHjFyRLUslG0TRKY5WMY55bdQtf8mfbBA6R7svRBAlo7CcJUf6gVnBkCHF0AzYD/2N65w==","signatures":[{"sig":"MEUCIAogfQhFH4cdMZfExZo7Thq7l8Hkq+ze9M3TKnlaZ4YPAiEA82f508zDNttkfcPFbWAup3CK9WFGkh7IeGNqtEoeIWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82806},"main":"./dist/index.js","type":"module","_from":"file:astryx-svelte-theme-neutral-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/5c6b192bfba5b81af49848a4d8866e74/astryx-svelte-theme-neutral-0.4.1.tgz","_integrity":"sha512-RFIXeVVDSEivmyWawJHjFyRLUslG0TRKY5WMY55bdQtf8mfbBA6R7svRBAlo7CcJUf6gVnBkCHF0AzYD/2N65w==","repository":{"url":"git+https://github.com/devrohit06/astryx-svelte.git","type":"git","directory":"packages/themes/neutral"},"_npmVersion":"10.9.8","description":"Neutral theme for astryx-svelte — the default Astryx look.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@lucide/svelte":"^1.25.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^5.56.1","vitest":"^4.1.10","prettier":"^3.8.3","typescript":"^6.0.3","@astryx-svelte/core":"0.4.1","prettier-plugin-svelte":"^4.1.0","@astryxdesign/theme-neutral":"0.4.1"},"peerDependencies":{"svelte":"^5.0.0","@astryx-svelte/core":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/theme-neutral_0.4.1_1786871777112_0.7816392880839553","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@astryx-svelte/theme-neutral","version":"0.4.5","license":"MIT","_id":"@astryx-svelte/theme-neutral@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":"710dadbde0ce5ba55f95cb0b288e71333089f52a","tarball":"https://registry.npmjs.org/@astryx-svelte/theme-neutral/-/theme-neutral-0.4.5.tgz","fileCount":11,"integrity":"sha512-2cy4kzeRvT7UB7x6VM8hwZFi/KYeBLDwg6AYmPB4M0eRQHgddFnBMjIVXtUDkOeGYlv0luoPeqSnGedIoNGUWQ==","signatures":[{"sig":"MEUCIQDjzA9fXBZHQ9QWHw72MLzSCraR1SwDDqa+onTkcu1zfQIgFK6cDBU7CzxxDGuEpozhXXLfQoFsjMwllAWF0dnB3yc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83379},"main":"./dist/index.js","type":"module","_from":"file:astryx-svelte-theme-neutral-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/dd285ddb094cfafc924ff17101f602f4/astryx-svelte-theme-neutral-0.4.5.tgz","_integrity":"sha512-2cy4kzeRvT7UB7x6VM8hwZFi/KYeBLDwg6AYmPB4M0eRQHgddFnBMjIVXtUDkOeGYlv0luoPeqSnGedIoNGUWQ==","repository":{"url":"git+https://github.com/devrohit06/astryx-svelte.git","type":"git","directory":"packages/themes/neutral"},"_npmVersion":"10.9.8","description":"Neutral theme for astryx-svelte — the default Astryx look.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@lucide/svelte":"^1.25.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^5.56.1","vitest":"^4.1.10","prettier":"^3.8.3","typescript":"^6.0.3","@astryx-svelte/core":"0.4.5","prettier-plugin-svelte":"^4.1.0","@astryxdesign/theme-neutral":"0.4.5"},"peerDependencies":{"svelte":"^5.0.0","@astryx-svelte/core":"^0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/theme-neutral_0.4.5_1787264405091_0.575822656662299","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@astryx-svelte/theme-neutral","version":"0.5.2","description":"Neutral theme for astryx-svelte — the default Astryx look.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/devrohit06/astryx-svelte.git","directory":"packages/themes/neutral"},"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-neutral":"0.5.2","prettier":"^3.8.3","prettier-plugin-svelte":"^4.1.0","svelte":"^5.56.1","typescript":"^6.0.3","vitest":"^4.1.10","@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-neutral@0.5.2","types":"./dist/index.d.ts","_integrity":"sha512-coEOO+ZFPeiiwtcTDm5XAHxD1G9X2ijUyv+c5n2aGZkqVOLF7JV/Hfe9mPy1TzwjrLG4reTaZshwf8pBEURKhg==","_resolved":"/tmp/633d230f713cd236540a37b177343cb1/astryx-svelte-theme-neutral-0.5.2.tgz","_from":"file:astryx-svelte-theme-neutral-0.5.2.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-coEOO+ZFPeiiwtcTDm5XAHxD1G9X2ijUyv+c5n2aGZkqVOLF7JV/Hfe9mPy1TzwjrLG4reTaZshwf8pBEURKhg==","shasum":"074b53d1ae79d055257ecd7b45b30c3a9ea26f1a","tarball":"https://registry.npmjs.org/@astryx-svelte/theme-neutral/-/theme-neutral-0.5.2.tgz","fileCount":11,"unpackedSize":86841,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDx7ePlZ2BzrScZvb/8GvWTHoYKOsz5TI0Wxkb5MyUUsAiEAwc4fPLsqcQg+nX7SEXfxrgIkuwMITQHmIKy1KKmyMxQ="}]},"_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-neutral_0.5.2_1788304795263_0.6399415132272148"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-10T16:53:56.588Z","modified":"2026-09-01T23:19:55.552Z","0.3.0":"2026-08-10T16:53:56.987Z","0.3.1":"2026-08-10T22:48:22.729Z","0.4.1":"2026-08-16T09:16:17.258Z","0.4.5":"2026-08-20T22:20:05.357Z","0.5.2":"2026-09-01T23:19:55.393Z"},"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/neutral"},"description":"Neutral theme for astryx-svelte — the default Astryx look.","maintainers":[{"name":"devrohit06","email":"technicalrohit06@gmail.com"}],"readme":"# @astryx-svelte/theme-neutral\n\nThe default Astryx look — muted and minimal.\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-neutral\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-neutral/theme.css';\n```\n\n```svelte\n<!-- src/routes/+layout.svelte -->\n<script lang=\"ts\">\n\timport { Theme } from '@astryx-svelte/core';\n\timport { neutralTheme } from '@astryx-svelte/theme-neutral';\n\timport '../app.css';\n\n\tconst { children } = $props();\n</script>\n\n<Theme theme={neutralTheme}>\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| `neutralTheme`                           | The theme object, pre-built. It carries `__built`, so `<Theme>` injects no CSS at runtime.                                                                                     |\n| `neutralIconRegistry`                    | The 28 semantic icon names mapped to Lucide glyphs. Already attached to `neutralTheme.icons`; exported separately for `registerIcons()` and for composing a theme of your own. |\n| `@astryx-svelte/theme-neutral/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-neutral/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-neutral` 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"}