{"_id":"@bravotango/circadian-css-variables","_rev":"3-d0d18ea1649f88a2ed1f56c4f40aba42","name":"@bravotango/circadian-css-variables","dist-tags":{"latest":"0.2.2"},"versions":{"0.2.0":{"name":"@bravotango/circadian-css-variables","version":"0.2.0","keywords":[],"author":"","license":"ISC","_id":"@bravotango/circadian-css-variables@0.2.0","maintainers":[{"name":"bravotango","email":"seattleriot@hotmail.com"}],"dist":{"shasum":"275766c98ac09eafdff3ebafa1616c516ac5789e","tarball":"https://registry.npmjs.org/@bravotango/circadian-css-variables/-/circadian-css-variables-0.2.0.tgz","fileCount":32,"integrity":"sha512-LpJ98St+zl0wfIp/8LgydfYTL23xCnp6gz0lI7r81lFjggtaeJdKOX6voigE2IUXFix5IC4W8dGyZnGiC1087g==","signatures":[{"sig":"MEUCIQCP7OMhpJDAnO5PCLMvN3fApdecAAf4X0MGvQ6M6TgskgIgOnurcafFulM6Ccd0ZkGgQMUpknBw4MHRM2NMUU2rDD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17784},"main":"dist/index.js","_from":"file:bravotango-circadian-css-variables-0.2.0.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc","remove":"rm -rf node_modules pnpm-lock.yaml dist","test:watch":"jest --watch"},"_npmUser":{"name":"bravotango","email":"seattleriot@hotmail.com"},"_resolved":"/tmp/db7b5e81e390bd6852cca1064c51312e/bravotango-circadian-css-variables-0.2.0.tgz","_integrity":"sha512-LpJ98St+zl0wfIp/8LgydfYTL23xCnp6gz0lI7r81lFjggtaeJdKOX6voigE2IUXFix5IC4W8dGyZnGiC1087g==","_npmVersion":"10.9.3","description":"Convert `@bravotango/circadian-tokens` into dynamic CSS custom properties.","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@bravotango/circadian-tokens":"0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/circadian-css-variables_0.2.0_1771442072400_0.24300227832179178","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@bravotango/circadian-css-variables","version":"0.2.1","keywords":[],"author":"","license":"ISC","_id":"@bravotango/circadian-css-variables@0.2.1","maintainers":[{"name":"bravotango","email":"seattleriot@hotmail.com"}],"dist":{"shasum":"eff08975fa9b7cc6f3a0460a9212219e0070c815","tarball":"https://registry.npmjs.org/@bravotango/circadian-css-variables/-/circadian-css-variables-0.2.1.tgz","fileCount":32,"integrity":"sha512-NWiWB9HFYZdR55k0MTjCXFUQpVOCtiErUDWcfECMEHhOARVnIP2JAVoJbrFQ4O96gRVeTiIniF/ZxcqYMAPO4Q==","signatures":[{"sig":"MEYCIQCG19w6gkhuEhaXhszbAtXwYn4OyFFtnCMZmFiGkWR+twIhALgwWQZvDTizPqoux1Pqai/cwzp9lHKmhsbMF7V6dBRp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17784},"main":"dist/index.js","_from":"file:bravotango-circadian-css-variables-0.2.1.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc","remove":"rm -rf node_modules pnpm-lock.yaml dist","test:watch":"jest --watch"},"_npmUser":{"name":"bravotango","email":"seattleriot@hotmail.com"},"_resolved":"/tmp/5771478cc2abfed9927258ad64077d43/bravotango-circadian-css-variables-0.2.1.tgz","_integrity":"sha512-NWiWB9HFYZdR55k0MTjCXFUQpVOCtiErUDWcfECMEHhOARVnIP2JAVoJbrFQ4O96gRVeTiIniF/ZxcqYMAPO4Q==","_npmVersion":"10.9.3","description":"Convert `@bravotango/circadian-tokens` into dynamic CSS custom properties.","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@bravotango/circadian-tokens":"0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/circadian-css-variables_0.2.1_1771442297924_0.9681088465287162","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@bravotango/circadian-css-variables","version":"0.2.2","main":"dist/index.js","types":"dist/index.d.ts","description":"Convert `@bravotango/circadian-tokens` into dynamic CSS custom properties.","keywords":[],"author":"","license":"ISC","dependencies":{"@bravotango/circadian-tokens":"0.2.6"},"devDependencies":{"@types/jest":"^30.0.0","jest":"^30.2.0","ts-jest":"^29.4.6"},"scripts":{"test":"jest","test:watch":"jest --watch","build":"tsc","remove":"rm -rf node_modules pnpm-lock.yaml dist"},"_id":"@bravotango/circadian-css-variables@0.2.2","_integrity":"sha512-eZx1GB0JxikrFcQPpcx8zhTi+fT/G5bflkIMSOIhuxIQSWroYFAQa00GNV4uO58T6RhsKmdt6i3W/i7VvLYmhg==","_resolved":"/tmp/14081812d760a23a78644c6bc14ebfc5/bravotango-circadian-css-variables-0.2.2.tgz","_from":"file:bravotango-circadian-css-variables-0.2.2.tgz","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-eZx1GB0JxikrFcQPpcx8zhTi+fT/G5bflkIMSOIhuxIQSWroYFAQa00GNV4uO58T6RhsKmdt6i3W/i7VvLYmhg==","shasum":"7f6894ef9fa38497ba08b55e23d5197968bdad18","tarball":"https://registry.npmjs.org/@bravotango/circadian-css-variables/-/circadian-css-variables-0.2.2.tgz","fileCount":32,"unpackedSize":17784,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD9ch+wdAG/Nl3Et2nVgQUqnwH//jgUp549gZZGbUiCQwIgCGMFm3IJz+C8ODnQhOMBnyeZ15kvldW3USwnKo6f6Dc="}]},"_npmUser":{"name":"bravotango","email":"seattleriot@hotmail.com"},"directories":{},"maintainers":[{"name":"bravotango","email":"seattleriot@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/circadian-css-variables_0.2.2_1771442664380_0.6287631506423759"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-18T19:14:32.339Z","modified":"2026-02-18T19:24:24.679Z","0.2.0":"2026-02-18T19:14:32.537Z","0.2.1":"2026-02-18T19:18:18.068Z","0.2.2":"2026-02-18T19:24:24.546Z"},"license":"ISC","keywords":[],"description":"Convert `@bravotango/circadian-tokens` into dynamic CSS custom properties.","maintainers":[{"name":"bravotango","email":"seattleriot@hotmail.com"}],"readme":"# circadian-css-variables\n\nConvert `@bravotango/circadian-tokens` into dynamic CSS custom properties.\n\nThis package maps real-world weather tokens into CSS variables, enabling weather-aware and time-aware UI styling.\n\nIt is designed to sit on top of:\n\n`@bravotango/circadian-tokens`\n\n---\n\n## Installation\n\n```bash\nnpm install @bravotango/circadian-css-variables\n```\n\n---\n\n## Peer Dependency\n\n```bash\nnpm install @bravotango/circadian-tokens\n```\n\n---\n\n## What It Does\n\nTransforms a `CircadianTokens` object into a flat map of CSS variables:\n\n```ts\nRecord<string, string>;\n```\n\n### Example variables generated\n\n```\n--circadian-current-condition-img\n--circadian-current-condition-color\n--circadian-current-condition-time-of-day-color\n--circadian-current-condition-icon\n--circadian-current-condition-wind-speed\n--circadian-current-condition-wind-speed-text\n--circadian-current-condition-wind-precipitation-degrees\n--circadian-current-condition-wind-degrees\n```\n\n---\n\n## Usage\n\n```ts\nimport { getCircadianTokens } from \"@bravotango/circadian-tokens\";\nimport { currentConditions } from \"@bravotango/circadian-css-variables\";\n\nconst tokens = await getCircadianTokens(\n  { type: \"coords\", lat: 47.7623, lon: -122.2054 },\n  process.env.OPENWEATHER_API_KEY!,\n);\n\nconst cssVars = currentConditions(tokens);\n\n// Apply to document root\nObject.entries(cssVars).forEach(([key, value]) => {\n  document.documentElement.style.setProperty(key, value);\n});\n```\n\n---\n\n## Example Output\n\n```ts\n{\n  \"--circadian-current-condition-img\": \"url('/circadian-assets/weather/rain.png')\",\n  \"--circadian-current-condition-color\": \"#5C6BC0\",\n  \"--circadian-current-condition-wind-speed\": \"3.2s\",\n  \"--circadian-current-condition-wind-degrees\": \"270deg\"\n}\n```\n\n---\n\n## Architecture\n\nLayered system:\n\n1. `circadian-tokens` → Normalizes live weather data\n2. `circadian-css-variables` → Maps tokens to CSS variables\n3. Your UI → React / Vue / Vanilla CSS consumes variables\n\nThis keeps:\n\n- Data logic isolated\n- Styling declarative\n- UI reactive to environment\n\n---\n\n## Why CSS Variables?\n\nCSS custom properties allow:\n\n- Real-time UI updates\n- Animation based on wind speed\n- Condition-based theming\n- Zero framework lock-in\n\n---\n\n## License\n\n[![License: MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nThis material licensed under the \"The MIT License\".\n\n---\n\n## Author\n\nBrian Tracy  \nhttps://github.com/bravotango\n","readmeFilename":"ReadMe.md"}