{"_id":"@ankh-studio/themes","_rev":"4-bc392ec9187a2cf1626b4a20f8e77f76","name":"@ankh-studio/themes","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@ankh-studio/themes","version":"0.1.0","author":{"url":"https://github.com/matthewvandusen","name":"Matthew Van Dusen"},"license":"MIT","_id":"@ankh-studio/themes@0.1.0","maintainers":[{"name":"ankh-matt","email":"matt@ankhstudio.com"},{"name":"brandon-anubis","email":"brandon@ankhstudio.com"}],"homepage":"https://github.com/ankh-studio/themes#readme","bugs":{"url":"https://github.com/ankh-studio/themes/issues"},"dist":{"shasum":"65d16ff20f48689bd2e03d01411bbaa015fb2915","tarball":"https://registry.npmjs.org/@ankh-studio/themes/-/themes-0.1.0.tgz","fileCount":7,"integrity":"sha512-giOsL9bKBk+dTvNGk43NB6wo/0NTCIv/EOFkCR7BqGSeekLkrIk8W5R942JEZLBlcNyQwvjQ+HBf+2WGKcHU8g==","signatures":[{"sig":"MEQCIADbHLoxILxvu4ElpmSlSNuYfH3luuIkfwO5bv6/7fexAiB2fqKJ3f+FxCUZdicYCey3SueBhNXlgLlsbRNXc7WfGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58698},"type":"module","engines":{"node":">=20"},"exports":{"./blue.css":"./dist/blue.css","./reset.css":"./dist/reset.css","./purple.css":"./dist/purple.css","./default.css":"./dist/default.css","./package.json":"./package.json"},"gitHead":"fc33749e08032b7e7509f0c2a926ebcd433c4af3","scripts":{"lint":"stylelint 'src/**/*.css'","build":"postcss 'src/*.css' --dir dist --base src","clean":"rimraf dist"},"_npmUser":{"name":"ankh-matt","email":"matt@ankhstudio.com"},"repository":{"url":"git+https://github.com/ankh-studio/themes.git","type":"git"},"_npmVersion":"11.8.0","description":"Pre-composed CSS themes built on Ankh Studio design tokens","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@ankh-studio/tokens":"^0.5.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.2","postcss":"^8.5.6","stylelint":"^16.12.0","postcss-cli":"^11.0.1","postcss-import":"^16.1.1","stylelint-config-standard":"^37.0.0"},"_npmOperationalInternal":{"tmp":"tmp/themes_0.1.0_1769839692225_0.06073847852457437","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ankh-studio/themes","version":"0.1.2","author":{"url":"https://github.com/imagineux","name":"Matthew Van Dusen"},"license":"MIT","_id":"@ankh-studio/themes@0.1.2","maintainers":[{"name":"ankh-matt","email":"matt@ankhstudio.com"},{"name":"brandon-anubis","email":"brandon@ankhstudio.com"}],"homepage":"https://github.com/Ankh-Studio/themes#readme","bugs":{"url":"https://github.com/Ankh-Studio/themes/issues"},"dist":{"shasum":"f99dbf98a3f9e3af0cb8a05e272557ab59d23c3f","tarball":"https://registry.npmjs.org/@ankh-studio/themes/-/themes-0.1.2.tgz","fileCount":7,"integrity":"sha512-niuoX5dbSYx7rmWVdzO7iv7Rz4dNXnCMhjYwRALe4aEE0QixNlOc5uI8Ugw8pa9TqOH6zaXG6nS9MIsvgUh1TA==","signatures":[{"sig":"MEYCIQCunyJS9KvO7lojApL1krNXLcHamNbDwsCX771MqEvIswIhANgLDC+M0LTAM5vyZNdid/3WBsbPwOvvARy2JBNItcD5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ankh-studio%2fthemes@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":58760},"type":"module","engines":{"node":">=20"},"exports":{"./blue.css":"./dist/blue.css","./reset.css":"./dist/reset.css","./purple.css":"./dist/purple.css","./default.css":"./dist/default.css","./package.json":"./package.json"},"gitHead":"fb3dbddfce799c85c38405d74827e483ad3295af","scripts":{"lint":"stylelint 'src/**/*.css'","build":"postcss 'src/*.css' --dir dist --base src","clean":"rimraf dist"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6bbd34e2-e351-477e-91ca-307df37c752b"}},"repository":{"url":"git+https://github.com/Ankh-Studio/themes.git","type":"git"},"_npmVersion":"11.6.2","description":"Pre-composed CSS themes built on Ankh Studio design tokens","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@ankh-studio/tokens":"^0.5.8"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.2","postcss":"^8.5.6","stylelint":"^16.12.0","postcss-cli":"^11.0.1","postcss-import":"^16.1.1","stylelint-config-standard":"^37.0.0"},"_npmOperationalInternal":{"tmp":"tmp/themes_0.1.2_1770490937988_0.21635396106096128","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@ankh-studio/themes","version":"0.1.3","author":{"url":"https://github.com/imagineux","name":"Matthew Van Dusen"},"license":"MIT","_id":"@ankh-studio/themes@0.1.3","maintainers":[{"name":"ankh-matt","email":"matt@ankhstudio.com"},{"name":"brandon-anubis","email":"brandon@ankhstudio.com"}],"homepage":"https://github.com/Ankh-Studio/themes#readme","bugs":{"url":"https://github.com/Ankh-Studio/themes/issues"},"dist":{"shasum":"17fc2a3d13d3fb8de250afda24e20d883b0609d0","tarball":"https://registry.npmjs.org/@ankh-studio/themes/-/themes-0.1.3.tgz","fileCount":7,"integrity":"sha512-llumKYuuitNkoRsrtHavz9NAQj9FGw6UeW3rR/cIS7kIO2c7iwJ8KdrhPxZ0MlwsvEmIvRhQ/WnOlEkLkPBJLw==","signatures":[{"sig":"MEQCIEJveLitvp5estGfKNZCf6urjUX4F/LOYrZHhu/UyQDsAiBgqVEVbVFkMaEgmIHwpaYIbFagJcHq7ZpaWNnrRdx3lw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ankh-studio%2fthemes@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":58760},"type":"module","engines":{"node":">=20"},"exports":{"./blue.css":"./dist/blue.css","./reset.css":"./dist/reset.css","./purple.css":"./dist/purple.css","./default.css":"./dist/default.css","./package.json":"./package.json"},"gitHead":"84727e84bec47b7158fcea3105c9c5c2a9ac86de","scripts":{"lint":"stylelint 'src/**/*.css'","build":"postcss 'src/*.css' --dir dist --base src","clean":"rimraf dist"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6bbd34e2-e351-477e-91ca-307df37c752b"}},"repository":{"url":"git+https://github.com/Ankh-Studio/themes.git","type":"git"},"_npmVersion":"11.6.2","description":"Pre-composed CSS themes built on Ankh Studio design tokens","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@ankh-studio/tokens":"^0.5.8"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.2","postcss":"^8.5.6","stylelint":"^16.12.0","postcss-cli":"^11.0.1","postcss-import":"^16.1.1","stylelint-config-standard":"^37.0.0"},"_npmOperationalInternal":{"tmp":"tmp/themes_0.1.3_1770491031457_0.4658309348008973","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@ankh-studio/themes","version":"0.2.1","description":"Pre-composed CSS themes built on Ankh Studio design tokens","type":"module","license":"MIT","author":{"name":"Matthew Van Dusen","url":"https://github.com/imagineux"},"repository":{"type":"git","url":"git+https://github.com/Ankh-Studio/themes.git"},"engines":{"node":">=20"},"publishConfig":{"access":"public","provenance":true},"exports":{"./default.css":"./dist/default.css","./blue.css":"./dist/blue.css","./purple.css":"./dist/purple.css","./reset.css":"./dist/reset.css","./package.json":"./package.json"},"sideEffects":["**/*.css"],"scripts":{"build":"postcss 'src/*.css' --dir dist --base src","clean":"rimraf dist","lint":"stylelint 'src/**/*.css'"},"dependencies":{"@ankh-studio/tokens":"^0.5.8"},"devDependencies":{"postcss":"^8.5.6","postcss-cli":"^11.0.1","postcss-import":"^16.1.1","rimraf":"^6.1.2","stylelint":"^16.12.0","stylelint-config-standard":"^37.0.0"},"gitHead":"8ff086994bcc19299770a1526a4bf1b442b34a7e","_id":"@ankh-studio/themes@0.2.1","bugs":{"url":"https://github.com/Ankh-Studio/themes/issues"},"homepage":"https://github.com/Ankh-Studio/themes#readme","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-bhLa+smvoQqS1Ihmi5jQ1u8YXHj1fENGeC2/pgpzWoU5miAHXfe08eSauhs4ergdx5j/ZzpRkIcAnJw5qqKS1A==","shasum":"a8966fcab195d5a81165099af91a64421515a900","tarball":"https://registry.npmjs.org/@ankh-studio/themes/-/themes-0.2.1.tgz","fileCount":7,"unpackedSize":60140,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ankh-studio%2fthemes@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEK5K4mtZQV5Felwk+6Rpd0LSXRyv85Sr1p9vzOBBKMqAiAnDSk7YHlF2OIAaTVH1WFpMB9Pd2o277MWVlz+bgkX2Q=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6bbd34e2-e351-477e-91ca-307df37c752b"}},"directories":{},"maintainers":[{"name":"ankh-matt","email":"matt@ankhstudio.com"},{"name":"brandon-anubis","email":"brandon@ankhstudio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/themes_0.2.1_1771220655232_0.2760393772784553"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-31T06:08:11.648Z","modified":"2026-02-16T05:44:15.732Z","0.1.0":"2026-01-31T06:08:12.370Z","0.1.2":"2026-02-07T19:02:18.181Z","0.1.3":"2026-02-07T19:03:51.599Z","0.2.1":"2026-02-16T05:44:15.383Z"},"bugs":{"url":"https://github.com/Ankh-Studio/themes/issues"},"author":{"name":"Matthew Van Dusen","url":"https://github.com/imagineux"},"license":"MIT","homepage":"https://github.com/Ankh-Studio/themes#readme","repository":{"type":"git","url":"git+https://github.com/Ankh-Studio/themes.git"},"description":"Pre-composed CSS themes built on Ankh Studio design tokens","maintainers":[{"name":"ankh-matt","email":"matt@ankhstudio.com"},{"name":"brandon-anubis","email":"brandon@ankhstudio.com"}],"readme":"# @ankh-studio/themes\n\nPre-composed CSS themes built on Ankh Studio design tokens. Import one file and get reset, tokens, and base styles.\n\nBuilt on [@ankh-studio/tokens](https://github.com/ankh-studio/tokens) - the foundational design tokens for the Ankh Studio design system.\n\n## Installation\n\n```bash\nnpm install @ankh-studio/themes\n```\n\n## Quick Start\n\n```css\n@import '@ankh-studio/themes/default.css';\n```\n\nOr in HTML:\n\n```html\n<link rel=\"stylesheet\" href=\"node_modules/@ankh-studio/themes/dist/default.css\">\n```\n\n## Available Themes\n\n| Theme | Description |\n|-------|-------------|\n| `default.css` | Grayscale - wireframing, prototyping |\n| `blue.css` | Corporate blue - healthcare, enterprise |\n| `purple.css` | Creative purple - consumer apps |\n| `reset.css` | Reset only - bring your own tokens |\n\n## Using Tokens\n\nAll themes include design tokens:\n\n```css\n.card {\n  background: var(--color-surface-container);\n  padding: var(--space-4);\n  border-radius: var(--radius-md);\n  box-shadow: var(--shadow-2);\n}\n\n.button {\n  background: var(--color-primary);\n  color: var(--color-on-primary);\n  font-family: var(--font-sans);\n  padding: var(--space-2) var(--space-4);\n  border-radius: var(--radius-sm);\n  transition: opacity var(--duration-short2) var(--easing-standard);\n}\n```\n\n### Token Categories\n\n- **Colors** - Primary, secondary, surface, error (auto light/dark)\n- **Spacing** - 9-step scale (`--space-1` to `--space-9`)\n- **Typography** - Fonts, sizes, weights, line heights\n- **Radius** - `--radius-none` through `--radius-full`\n- **Shadows** - `--shadow-0` through `--shadow-5`\n- **Motion** - Durations and easings\n\nSee [@ankh-studio/tokens](https://github.com/ankh-studio/tokens) for the complete token reference.\n\n## Dark Mode\n\nColors adapt automatically via `prefers-color-scheme`. No configuration needed.\n\n## Browser Support\n\nRequires browsers supporting:\n- CSS `light-dark()` function\n- OKLCH color space\n- CSS Cascade Layers (`@layer`)\n\n**Supported:** Chrome 123+, Safari 17.5+, Firefox 120+\n\n## Customization\n\n### Scaling\n\n```html\n<html data-scaling=\"110\">\n```\n\nOptions: `90`, `95`, `100` (default), `105`, `110`\n\n### Border Radius\n\n```html\n<html data-radius=\"large\">\n```\n\nOptions: `none`, `small`, `medium` (default), `large`\n\n## Cascade Layers\n\nEach theme declares this layer order:\n\n```css\n@layer reset, tokens, intention, palette, base, components;\n```\n\n| Layer | Purpose |\n|-------|---------|\n| `reset` | Normalize browser defaults |\n| `tokens` | Design tokens from @ankh-studio/tokens |\n| `intention` | Cognitive-intention tokens (reserved for future use) |\n| `palette` | Color palette overrides (reserved for future use) |\n| `base` | Typography, links, focus states |\n| `components` | Component-library styles (e.g. `@ankh-studio/components`) |\n\n### Why `components` exists\n\nThe `components` layer gives component authors a predictable place in the cascade. Styles in `@layer components { ... }` will always win over `base` but lose to unlayered application CSS. This means component packages can ship styles that integrate cleanly without specificity wars.\n\n### Overriding theme and component styles\n\nUnlayered CSS (the default) automatically overrides all layered styles:\n\n```css\n@import '@ankh-studio/themes/default.css';\n\n/* This wins over any layered rule, no !important needed */\n.button { background: hotpink; }\n```\n\nIf your app uses its own cascade layers, declare them after `components`:\n\n```css\n@layer reset, tokens, intention, palette, base, components, app;\n\n@layer app {\n  .button { background: hotpink; }\n}\n```\n\n## Documentation\n\n- [Architecture Decision Records](./docs/adr/) - Design decisions and proposals\n- [Contributing](./CONTRIBUTING.md) - How to contribute\n\n## Changelog\n\n### 0.2.0\n- Expand cascade layer ordering: `reset, tokens, intention, palette, base, components`\n- Add `intention` and `palette` layers (reserved, per ADR-001)\n- Add `components` layer for component-library styles\n- Document cascade layers and override patterns in README\n\n### 0.1.0\n- Initial release with default, blue, purple themes\n- CSS reset included\n- Automatic dark mode via `prefers-color-scheme`\n\n## License\n\nMIT\n","readmeFilename":"README.md"}