{"_id":"@arshad-shah/cynosure-themes","_rev":"4-7b2cb6045a2bcf8256d8898d4bc697b1","name":"@arshad-shah/cynosure-themes","dist-tags":{"latest":"3.3.0"},"versions":{"1.0.0":{"name":"@arshad-shah/cynosure-themes","version":"1.0.0","license":"MIT","_id":"@arshad-shah/cynosure-themes@1.0.0","maintainers":[{"name":"arshad-shah","email":"shaharshad57@gmail.com"}],"dist":{"shasum":"64eabf4fc64696bc1fdc7cc807411adf89c34b20","tarball":"https://registry.npmjs.org/@arshad-shah/cynosure-themes/-/cynosure-themes-1.0.0.tgz","fileCount":5,"integrity":"sha512-EC4JMBIKbfW6CdWCFOMPuywMyhO1CmvhTIoOAzQbEKp+VqRJs1kCbVP8w1joTJXY7h9mLQBMpeuigxkl2iP5FQ==","signatures":[{"sig":"MEUCIHYgMZzKPBWmwLejzZgY3x5pzORlYSN4LebFL0OoOqhoAiEAiiCfn/GX/T+w5b6QjPlYeDMtj8XB6IjITUnA7PLkIcQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12478},"type":"module","_from":"file:arshad-shah-cynosure-themes-1.0.0.tgz","exports":{"./terminal":"./src/terminal/index.css","./package.json":"./package.json","./high-contrast":"./src/high-contrast/index.css"},"scripts":{"dev":"echo \"@arshad-shah/cynosure-themes is CSS-only; nothing to watch\"","build":"echo \"@arshad-shah/cynosure-themes is CSS-only; nothing to build\"","clean":"rm -rf .turbo","typecheck":"echo \"@arshad-shah/cynosure-themes ships no TypeScript\""},"_npmUser":{"name":"arshad-shah","email":"shaharshad57@gmail.com"},"_resolved":"C:\\Users\\shaha\\AppData\\Local\\Temp\\a643f0bbb27adea6f0aa36027e433761\\arshad-shah-cynosure-themes-1.0.0.tgz","_integrity":"sha512-EC4JMBIKbfW6CdWCFOMPuywMyhO1CmvhTIoOAzQbEKp+VqRJs1kCbVP8w1joTJXY7h9mLQBMpeuigxkl2iP5FQ==","_npmVersion":"11.8.0","description":"Cynosure UI — prebuilt themes (terminal, high-contrast)","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.1","dependencies":{"@arshad-shah/cynosure-tokens":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cynosure-themes_1.0.0_1776518698426_0.22949164603050254","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@arshad-shah/cynosure-themes","version":"2.1.1","license":"MIT","_id":"@arshad-shah/cynosure-themes@2.1.1","maintainers":[{"name":"arshad-shah","email":"shaharshad57@gmail.com"}],"dist":{"shasum":"0f739e4ebb8a62e0a7622f7cb619308bfb500b9c","tarball":"https://registry.npmjs.org/@arshad-shah/cynosure-themes/-/cynosure-themes-2.1.1.tgz","fileCount":6,"integrity":"sha512-lRDUH1vihrkazX7rlu/5qinznoVFqWGfuIbpHyqlqsVkM/omfAaad5as619ZUea3Nj2hWKHTafXNoyWZwSJO+A==","signatures":[{"sig":"MEUCIFZyewErnqwVXBI/EPQKhbw+wiAtYboZFK2QkUEnnfUiAiEAj059pTRnSCqbJGf9HiYvs4WBpLktn4PiTrNKKVOSZGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15537},"type":"module","_from":"file:arshad-shah-cynosure-themes-2.1.1.tgz","exports":{"./terminal":"./src/terminal/index.css","./package.json":"./package.json","./high-contrast":"./src/high-contrast/index.css"},"scripts":{"dev":"echo \"@arshad-shah/cynosure-themes is CSS-only; nothing to watch\"","build":"echo \"@arshad-shah/cynosure-themes is CSS-only; nothing to build\"","clean":"rm -rf .turbo","typecheck":"echo \"@arshad-shah/cynosure-themes ships no TypeScript\""},"_npmUser":{"name":"arshad-shah","email":"shaharshad57@gmail.com"},"_resolved":"C:\\Users\\shaha\\AppData\\Local\\Temp\\17f1f501a14bcfb46b329933bcee1b41\\arshad-shah-cynosure-themes-2.1.1.tgz","_integrity":"sha512-lRDUH1vihrkazX7rlu/5qinznoVFqWGfuIbpHyqlqsVkM/omfAaad5as619ZUea3Nj2hWKHTafXNoyWZwSJO+A==","_npmVersion":"11.12.1","description":"Cynosure UI — prebuilt themes (terminal, high-contrast)","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.15.0","dependencies":{"@arshad-shah/cynosure-tokens":"2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cynosure-themes_2.1.1_1776979835754_0.9462717122625548","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@arshad-shah/cynosure-themes","version":"3.0.0","keywords":["cynosure","design-system","themes","css","design-tokens"],"license":"MIT","_id":"@arshad-shah/cynosure-themes@3.0.0","maintainers":[{"name":"arshad-shah","email":"shaharshad57@gmail.com"}],"homepage":"https://cynosure.arshadshah.com","bugs":{"url":"https://github.com/arshad-shah/cynosure/issues"},"dist":{"shasum":"64c631b2520a539e8889914d90c2b7169a794206","tarball":"https://registry.npmjs.org/@arshad-shah/cynosure-themes/-/cynosure-themes-3.0.0.tgz","fileCount":6,"integrity":"sha512-QvkDqnrnrRxhn5Ml9qkPCJ5Xqgs2QqgM2XGdYoNs88PzqT81KBvkrY05pC+lCQR9eRfWczkRIQal1J3FlUDxeA==","signatures":[{"sig":"MEYCIQCANjUxG0J15VlB/uazswtz/DSPg5yJHFVyOg7cUhswxAIhAPIj9SgfbtRYU4oTQiDzvAgARUJRdmakepNenkZ4Jj/N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arshad-shah%2fcynosure-themes@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16376},"type":"module","_from":"file:arshad-shah-cynosure-themes-3.0.0.tgz","exports":{"./terminal":"./src/terminal/index.css","./package.json":"./package.json","./high-contrast":"./src/high-contrast/index.css"},"scripts":{"dev":"echo \"@arshad-shah/cynosure-themes is CSS-only; nothing to watch\"","build":"echo \"@arshad-shah/cynosure-themes is CSS-only; nothing to build\"","clean":"rm -rf .turbo","typecheck":"echo \"@arshad-shah/cynosure-themes ships no TypeScript\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:995961f1-1954-44a3-859c-2a23e17d5af8"}},"_resolved":"/tmp/b232107193ecc0f562023045e635056b/arshad-shah-cynosure-themes-3.0.0.tgz","_integrity":"sha512-QvkDqnrnrRxhn5Ml9qkPCJ5Xqgs2QqgM2XGdYoNs88PzqT81KBvkrY05pC+lCQR9eRfWczkRIQal1J3FlUDxeA==","repository":{"url":"git+https://github.com/arshad-shah/cynosure.git","type":"git","directory":"packages/themes"},"_npmVersion":"11.5.2","description":"Cynosure UI — prebuilt themes (terminal, high-contrast)","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.22.2","dependencies":{"@arshad-shah/cynosure-tokens":"3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cynosure-themes_3.0.0_1778693324795_0.2048567173060416","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@arshad-shah/cynosure-themes","version":"3.3.0","description":"Cynosure UI — prebuilt themes (terminal, high-contrast)","license":"MIT","homepage":"https://cynosure.arshadshah.com","repository":{"type":"git","url":"git+https://github.com/arshad-shah/cynosure.git","directory":"packages/themes"},"bugs":{"url":"https://github.com/arshad-shah/cynosure/issues"},"keywords":["cynosure","design-system","themes","css","design-tokens"],"type":"module","sideEffects":["**/*.css"],"exports":{"./terminal":"./src/terminal/index.css","./high-contrast":"./src/high-contrast/index.css","./package.json":"./package.json"},"dependencies":{"@arshad-shah/cynosure-tokens":"3.3.0"},"publishConfig":{"access":"public"},"scripts":{"build":"echo \"@arshad-shah/cynosure-themes is CSS-only; nothing to build\"","dev":"echo \"@arshad-shah/cynosure-themes is CSS-only; nothing to watch\"","typecheck":"echo \"@arshad-shah/cynosure-themes ships no TypeScript\"","clean":"rm -rf .turbo"},"_id":"@arshad-shah/cynosure-themes@3.3.0","_integrity":"sha512-YrplzTW4jM/8XN5mzGkusvJcqrwzXtndvXEGSpTv0EPzYptFU7rSOzU7sTbInw7PfPMkd2ZNznufoJxcShZn8Q==","_resolved":"/tmp/2cc3414009b8e0f73b02f59c8597c584/arshad-shah-cynosure-themes-3.3.0.tgz","_from":"file:arshad-shah-cynosure-themes-3.3.0.tgz","_nodeVersion":"22.22.3","_npmVersion":"11.5.2","dist":{"integrity":"sha512-YrplzTW4jM/8XN5mzGkusvJcqrwzXtndvXEGSpTv0EPzYptFU7rSOzU7sTbInw7PfPMkd2ZNznufoJxcShZn8Q==","shasum":"faf3569ec4bff8c8c14d3f50c3866242d83c606d","tarball":"https://registry.npmjs.org/@arshad-shah/cynosure-themes/-/cynosure-themes-3.3.0.tgz","fileCount":6,"unpackedSize":16572,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arshad-shah%2fcynosure-themes@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCXEGd7Z5Lks+LTpMwyyrEtNN3y4BAYhPjUXOjJyq59nAIgbGyW3LYoNzdPRvrQtpSVXC05Sgeqg/7IxJZ/4c4Aklg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:995961f1-1954-44a3-859c-2a23e17d5af8"}},"directories":{},"maintainers":[{"name":"arshad-shah","email":"shaharshad57@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cynosure-themes_3.3.0_1780177814729_0.8214410582501925"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-18T13:24:58.355Z","modified":"2026-05-30T21:50:15.113Z","1.0.0":"2026-04-18T13:24:58.638Z","2.1.1":"2026-04-23T21:30:35.888Z","3.0.0":"2026-05-13T17:28:44.939Z","3.3.0":"2026-05-30T21:50:14.874Z"},"bugs":{"url":"https://github.com/arshad-shah/cynosure/issues"},"license":"MIT","homepage":"https://cynosure.arshadshah.com","keywords":["cynosure","design-system","themes","css","design-tokens"],"repository":{"type":"git","url":"git+https://github.com/arshad-shah/cynosure.git","directory":"packages/themes"},"description":"Cynosure UI — prebuilt themes (terminal, high-contrast)","maintainers":[{"name":"arshad-shah","email":"shaharshad57@gmail.com"}],"readme":"# @arshad-shah/cynosure-themes\n\n> Prebuilt theme stylesheets for Cynosure UI — drop-in imports that override the default tokens.\n\nEach theme is a single CSS file that redefines Cynosure's design-token custom properties under a scoping selector. Import one at the root of your app and every component re-renders in that theme automatically.\n\n---\n\n## Install\n\n```bash\npnpm add @arshad-shah/cynosure-themes\n```\n\nRequires [`@arshad-shah/cynosure-tokens`](https://www.npmjs.com/package/@arshad-shah/cynosure-tokens) already loaded — the themes override tokens, they don't replace them.\n\n---\n\n## Usage\n\nPick a theme and import its stylesheet. Order matters: themes must load **after** the base tokens so their overrides win the cascade.\n\n```ts\nimport '@arshad-shah/cynosure-tokens/css';\nimport '@arshad-shah/cynosure-tokens/css/dark';\nimport '@arshad-shah/cynosure-themes/terminal';        // or…\nimport '@arshad-shah/cynosure-themes/high-contrast';\n```\n\nBy default, the theme applies globally. Scope it to a subtree by setting `data-theme` on a wrapper element:\n\n```tsx\n<div data-theme=\"terminal\">\n  <Dashboard />\n</div>\n```\n\n---\n\n## Available themes\n\n### `terminal`\n```ts\nimport '@arshad-shah/cynosure-themes/terminal';\n```\nJetBrains Mono everywhere, phosphor-green accents on near-black surfaces. Designed for IDE- and CLI-adjacent UIs.\n\n### `high-contrast`\n```ts\nimport '@arshad-shah/cynosure-themes/high-contrast';\n```\nWCAG AAA contrast across every component, black-and-white with single-hue accents. For users who enable `prefers-contrast: more` or who ship in accessibility-critical environments.\n\n---\n\n## Rolling your own\n\nA \"theme\" in Cynosure is just a CSS file that overrides token custom properties. To author one, copy the scaffold under `src/terminal/` or `src/high-contrast/` in the [main repo](https://github.com/arshad-shah/cynosure/tree/main/packages/themes/src) and change the token values. See the [custom-themes guide](https://github.com/arshad-shah/cynosure/blob/main/docs/foundations/custom-themes.mdx).\n\n---\n\n## Links\n\n- [Main repo](https://github.com/arshad-shah/cynosure)\n- [Theming overview](https://github.com/arshad-shah/cynosure/blob/main/docs/foundations/theming-overview.mdx)\n- [Terminal theme recipe](https://github.com/arshad-shah/cynosure/blob/main/docs/foundations/terminal-theme-recipe.mdx)\n- [Changelog](./CHANGELOG.md)\n\n## License\n\nMIT © [Arshad Shah](https://github.com/arshad-shah)\n","readmeFilename":"README.md"}