{"_id":"@dustin-riley/design","_rev":"9-25f29a3de239ef4cb7326b4609972058","name":"@dustin-riley/design","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@dustin-riley/design","version":"0.1.0","keywords":["design-system","css","design-tokens"],"license":"MIT","_id":"@dustin-riley/design@0.1.0","maintainers":[{"name":"dustin-riley","email":"rileymdustin@gmail.com"}],"dist":{"shasum":"de7bff7c09482d99d6e88ae262d040b7d99c8309","tarball":"https://registry.npmjs.org/@dustin-riley/design/-/design-0.1.0.tgz","fileCount":8,"integrity":"sha512-y4Zr8fdKlKJieaXEhPPVwso1JiWCqFOi9ckFtPGu6SQgNWCa7CPhboiNsnkqx7uV2Mzy5wmiEdix0Q+HUZHl2g==","signatures":[{"sig":"MEUCIBXeBiJL+k5etSC1xB2ERTsErrvfPO2q/S+Md+VKtYoTAiEAnLPKqacmxS6qAvxyiwXkMVAjguV+SxyWBmpO1qxkzHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28643},"type":"module","exports":{"./core.css":"./src/core.css","./DESIGN.md":"./DESIGN.md","./tokens.css":"./src/tokens.css","./tailwind.css":"./src/tailwind.css"},"gitHead":"6455ceb183b380d1d70cda323ef79a6719e87494","scripts":{"test":"node --test","generate":"node scripts/generate-bridge.mjs"},"_npmUser":{"name":"dustin-riley","email":"rileymdustin@gmail.com"},"_npmVersion":"10.9.7","description":"Dustin Riley design system — warm mid-century modern tokens and primitives.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/design_0.1.0_1778957034551_0.5872323031279936","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dustin-riley/design","version":"0.1.1","keywords":["design-system","css","design-tokens"],"license":"MIT","_id":"@dustin-riley/design@0.1.1","maintainers":[{"name":"dustin-riley","email":"rileymdustin@gmail.com"}],"dist":{"shasum":"27cc3c3e54d8bfd8a778c91f9308645c43400268","tarball":"https://registry.npmjs.org/@dustin-riley/design/-/design-0.1.1.tgz","fileCount":9,"integrity":"sha512-a4tr1itDMuPSZHJt1MC2ykBWguF+RJ5eq3r23QVZD44dR7ylBhMF1ZKunR37mBBxi5eFQIgAmIAdUt2/KBzRaw==","signatures":[{"sig":"MEUCIElKEIroRIhyB1f2SRrhRt6FmlSEvc1fw+XGPc+Ftvr6AiEA3dQ3J7Nh/+xz0VvHjEJwyBgvgZvZnvlWyP9OlJe9S6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31301},"type":"module","exports":{"./core.css":"./src/core.css","./DESIGN.md":"./DESIGN.md","./reset.css":"./src/reset.css","./tokens.css":"./src/tokens.css","./tailwind.css":"./src/tailwind.css"},"gitHead":"6bbabd03b1c15ca4e6264835586595e0a54c8b34","scripts":{"test":"node --test","generate":"node scripts/generate-bridge.mjs"},"_npmUser":{"name":"dustin-riley","email":"rileymdustin@gmail.com"},"_npmVersion":"10.9.7","description":"Dustin Riley design system — warm mid-century modern tokens and primitives.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/design_0.1.1_1778960816133_0.9778946521770331","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dustin-riley/design","version":"0.1.2","keywords":["design-system","css","design-tokens"],"license":"MIT","_id":"@dustin-riley/design@0.1.2","maintainers":[{"name":"dustin-riley","email":"rileymdustin@gmail.com"}],"dist":{"shasum":"8e21085929b3f0762642423830880f1868a65dd0","tarball":"https://registry.npmjs.org/@dustin-riley/design/-/design-0.1.2.tgz","fileCount":9,"integrity":"sha512-chdIbitq85a0Ghi/dkP8+yERW44wu59JdYNB52oD5LKNqqNfCfKINcyEtF6QHIlQ6QcRjZZAafI7VT0ILVPyWg==","signatures":[{"sig":"MEYCIQCvxnjmZu9+cWS0sqGVpV+zfG3007vqiQARvhu76PZEjQIhAJ7cMTKvjG6CdKAuAs999kKEUb++Q7jU+3deVZmsWqVU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31594},"type":"module","exports":{"./core.css":"./src/core.css","./DESIGN.md":"./DESIGN.md","./reset.css":"./src/reset.css","./tokens.css":"./src/tokens.css","./tailwind.css":"./src/tailwind.css"},"gitHead":"b7cb9f220a5cd864d2477d85e3c77a8be0c2102e","scripts":{"test":"node --test","generate":"node scripts/generate-bridge.mjs"},"_npmUser":{"name":"dustin-riley","email":"rileymdustin@gmail.com"},"_npmVersion":"10.9.7","description":"Dustin Riley design system — warm mid-century modern tokens and primitives.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/design_0.1.2_1778968772895_0.8706664160586344","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dustin-riley/design","version":"0.2.0","keywords":["design-system","css","design-tokens"],"license":"MIT","_id":"@dustin-riley/design@0.2.0","maintainers":[{"name":"dustin-riley","email":"rileymdustin@gmail.com"}],"dist":{"shasum":"d4f8c63a60eb07e7fe2339dd2d5d6e8702800b7a","tarball":"https://registry.npmjs.org/@dustin-riley/design/-/design-0.2.0.tgz","fileCount":8,"integrity":"sha512-IbQLrquDY4r7wN23DRgE90o3Bi/BwEftUvyqzlCmiAsUAcGqMErLJ+k3aoNUzeGRvnMAYXWS3Ir3orH4yb06gg==","signatures":[{"sig":"MEQCICSLRMmAcr1kVcF6aU9bLtSFbP/PVl7IhxZUTt4d5BAzAiAp0muQnfwYtt6xoT4/dphKQbYUX5GUQ0O8LgARfAfvFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30762},"type":"module","exports":{"./core.css":"./src/core.css","./DESIGN.md":"./DESIGN.md","./tokens.css":"./src/tokens.css","./tailwind.css":"./src/tailwind.css"},"gitHead":"6db06d176e147a15e3b037febe666c268324da44","scripts":{"test":"node --test","generate":"node scripts/generate-bridge.mjs"},"_npmUser":{"name":"dustin-riley","email":"rileymdustin@gmail.com"},"_npmVersion":"10.9.7","description":"Dustin Riley design system — warm mid-century modern tokens and primitives.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/design_0.2.0_1778969807962_0.043601249270286635","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@dustin-riley/design","version":"0.2.1","keywords":["design-system","css","design-tokens"],"license":"MIT","_id":"@dustin-riley/design@0.2.1","maintainers":[{"name":"dustin-riley","email":"rileymdustin@gmail.com"}],"dist":{"shasum":"09d7ba28599705ce23462cca57470007fc14f61a","tarball":"https://registry.npmjs.org/@dustin-riley/design/-/design-0.2.1.tgz","fileCount":8,"integrity":"sha512-6ezUeHcbxKx9ex/9WDNyfLxkQ5MdwBeUqkVddmg/1X3HhmE+ymO/dPxtznd9rGnHO7uqRS9UxDk33iPhkghesg==","signatures":[{"sig":"MEUCIQDQ8X5u0ossoCZDgZ1/j6DMC833a7i638/vvCE0lRAWTAIgG9DpO8Xem88PW9p8ci2cnlFFYS9ex+0t4bjhSUpNDsA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30992},"type":"module","exports":{"./core.css":"./src/core.css","./DESIGN.md":"./DESIGN.md","./tokens.css":"./src/tokens.css","./tailwind.css":"./src/tailwind.css"},"gitHead":"bd3ea3949c7dcb652b7085074a7604d735443a84","scripts":{"test":"node --test","generate":"node scripts/generate-bridge.mjs"},"_npmUser":{"name":"dustin-riley","email":"rileymdustin@gmail.com"},"_npmVersion":"10.9.7","description":"Dustin Riley design system — warm mid-century modern tokens and primitives.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/design_0.2.1_1778970595825_0.303201423515816","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@dustin-riley/design","version":"0.2.2","keywords":["design-system","css","design-tokens"],"license":"MIT","_id":"@dustin-riley/design@0.2.2","maintainers":[{"name":"dustin-riley","email":"rileymdustin@gmail.com"}],"dist":{"shasum":"693aa7be8c514653c201ed645a8a7f1216f11bad","tarball":"https://registry.npmjs.org/@dustin-riley/design/-/design-0.2.2.tgz","fileCount":8,"integrity":"sha512-2jvNuhaEIMGKE8vOsqcDxbqWf1cGB83zt+SqWIdu9TnuKq0l8aTe/b8P+Hjunj9KRLSCjY1vF3Hwj7cv8okKtQ==","signatures":[{"sig":"MEUCIQDW9lR+Taqq0y6Kfv9uF7ToyCMu6snDg7G/TJEzhc1meAIgcE4vERYkpYEbMcYRSOwCiIffMnf5f/aYiAar58QnpOM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31336},"type":"module","exports":{"./core.css":"./src/core.css","./DESIGN.md":"./DESIGN.md","./tokens.css":"./src/tokens.css","./tailwind.css":"./src/tailwind.css"},"gitHead":"b64db88fa3e3368a5a790f3907515dba176fffb3","scripts":{"test":"node --test","generate":"node scripts/generate-bridge.mjs"},"_npmUser":{"name":"dustin-riley","email":"rileymdustin@gmail.com"},"_npmVersion":"10.9.7","description":"Dustin Riley design system — warm mid-century modern tokens and primitives.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/design_0.2.2_1778972873532_0.9471418297410528","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@dustin-riley/design","version":"0.2.3","keywords":["design-system","css","design-tokens"],"license":"MIT","_id":"@dustin-riley/design@0.2.3","maintainers":[{"name":"dustin-riley","email":"rileymdustin@gmail.com"}],"dist":{"shasum":"5fcf687e06ef4bc717968b3463447a7a698f303b","tarball":"https://registry.npmjs.org/@dustin-riley/design/-/design-0.2.3.tgz","fileCount":8,"integrity":"sha512-PPUbXmrwrQVcpaURcDqdxdoXVB79Azd7W++CLlh/m4ABzPBpw2aXmnmfw7DIIifeWwnNpkoM8rNbgZh7qmI/gw==","signatures":[{"sig":"MEUCIHQBug8R2GuxzjN46N+t8xNlEXE4as/eeJLwfQbGhG4EAiEAkPyRTpDL5tSKfMpqD7SXgb6LfHQJ2G8kgxhYLnDUvGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31350},"type":"module","exports":{"./core.css":"./src/core.css","./DESIGN.md":"./DESIGN.md","./tokens.css":"./src/tokens.css","./tailwind.css":"./src/tailwind.css"},"gitHead":"f4165ffdfc9880d462194592777220707ec9f955","scripts":{"test":"node --test","generate":"node scripts/generate-bridge.mjs"},"_npmUser":{"name":"dustin-riley","email":"rileymdustin@gmail.com"},"_npmVersion":"10.9.7","description":"Dustin Riley design system — warm mid-century modern tokens and primitives.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/design_0.2.3_1778973636379_0.7484813563893675","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dustin-riley/design","version":"0.3.0","keywords":["design-system","css","design-tokens"],"license":"MIT","_id":"@dustin-riley/design@0.3.0","maintainers":[{"name":"dustin-riley","email":"rileymdustin@gmail.com"}],"dist":{"shasum":"7f6dfc230b71eec89c76b4f9f13130e4e29d2e9d","tarball":"https://registry.npmjs.org/@dustin-riley/design/-/design-0.3.0.tgz","fileCount":8,"integrity":"sha512-ckSia61Sm88ELNk2n4CnZclTbMkUEMU5Xn56Iuk6a9WPRaQ7zx72D4dLni/+Vvz+VcbMlgdI0LtCTDkgp8J2Sg==","signatures":[{"sig":"MEUCIQCWCHfYgLtPzrAYLpSnPjhb/mUyZCu/ddySMIX5sdSw4gIgPwdcOi0EnAY6h+1upPwAtSMGxw8w8gC+qBcEb2LrNXo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31515},"type":"module","exports":{"./core.css":"./src/core.css","./DESIGN.md":"./DESIGN.md","./tokens.css":"./src/tokens.css","./tailwind.css":"./src/tailwind.css"},"gitHead":"56a76955e1ab2762fae9fea0ef8655029f2dd360","scripts":{"test":"node --test","generate":"node scripts/generate-bridge.mjs"},"_npmUser":{"name":"dustin-riley","email":"rileymdustin@gmail.com"},"_npmVersion":"10.9.7","description":"Dustin Riley design system — warm mid-century modern tokens and primitives.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/design_0.3.0_1778992469733_0.888245635788742","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@dustin-riley/design","version":"0.5.0","description":"Dustin Riley design system — warm mid-century modern tokens and primitives.","license":"MIT","type":"module","exports":{"./tokens.css":"./src/tokens.css","./core.css":"./src/core.css","./tailwind.css":"./src/tailwind.css","./DESIGN.md":"./DESIGN.md"},"scripts":{"generate":"node scripts/generate-bridge.mjs","test":"node --test"},"publishConfig":{"access":"public"},"keywords":["design-system","css","design-tokens"],"_id":"@dustin-riley/design@0.5.0","gitHead":"628632e78fbda0e45ae7a73775e3e5b29c3791d6","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-wooUi+eGg5zH4GLVpPMyws+aitV1aaN3J3SUctOPE2cTsVnNoKypv1+TxjgETRGJLCch4wFy1qtMrC0uXeHThA==","shasum":"93798e96f4add71f4d05b34ade6dccaafc2aa2fb","tarball":"https://registry.npmjs.org/@dustin-riley/design/-/design-0.5.0.tgz","fileCount":8,"unpackedSize":36114,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC2/8r9hJ9bAqLQi13/QJ+PxCXwdDgJW3baJhEgFw9fpQIgbfUqEr4Rita8Zk0IRVzQ/B9cHqr0M+ew8M2GwPpmfEU="}]},"_npmUser":{"name":"dustin-riley","email":"rileymdustin@gmail.com"},"directories":{},"maintainers":[{"name":"dustin-riley","email":"rileymdustin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/design_0.5.0_1779033250823_0.49799747500041147"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-16T18:43:54.477Z","modified":"2026-05-17T15:54:11.109Z","0.1.0":"2026-05-16T18:43:54.695Z","0.1.1":"2026-05-16T19:46:56.264Z","0.1.2":"2026-05-16T21:59:33.037Z","0.2.0":"2026-05-16T22:16:48.103Z","0.2.1":"2026-05-16T22:29:55.960Z","0.2.2":"2026-05-16T23:07:53.730Z","0.2.3":"2026-05-16T23:20:36.559Z","0.3.0":"2026-05-17T04:34:29.874Z","0.5.0":"2026-05-17T15:54:10.993Z"},"license":"MIT","keywords":["design-system","css","design-tokens"],"description":"Dustin Riley design system — warm mid-century modern tokens and primitives.","maintainers":[{"name":"dustin-riley","email":"rileymdustin@gmail.com"}],"readme":"# @dustin-riley/design\n\nWarm mid-century-modern design system: tokens, base resets, and a curated set of\nreusable CSS primitives. Framework-neutral, with an optional Tailwind v4 +\nshadcn bridge.\n\n## Install\n\n```bash\nnpm i @dustin-riley/design\n```\n\n## Use\n\n```css\n/* any project */\n@import \"@dustin-riley/design/tokens.css\";\n@import \"@dustin-riley/design/core.css\";\n\n/* Tailwind v4 + shadcn projects also need: */\n@import \"@dustin-riley/design/tailwind.css\"; /* pulls in core + tokens */\n```\n\nThat's the whole contract. No separate reset, no `@layer`, nothing per-app.\n\n## What's in / out\n\n`tokens.css` — `--ds-*` custom properties + the focus ring. Pure tokens, no\nelement styling.\n\n`core.css` — generic primitives (`.ds-btn*`, `.ds-container`, `.ds-panel`,\ntypographic helpers, `.kbd`, …) **plus minimal base element styling** (body\ndefaults, heading font/size, mono code, `::selection`). Imports `tokens.css`.\nBase rules are wrapped in `:where()` (zero specificity) so any app/component/\nPreflight rule wins.\n\n**Links are not underlined by default.** Per `DESIGN.md`, links are color-only;\nthe system never sets a global link `text-decoration`. Underline is an\nintentional, component-scoped decision (e.g. article body) made by the app.\n\n`tailwind.css` — optional Tailwind v4 `@theme` + shadcn HSL bridge (pulls in\ncore + tokens). Does **not** include `reset.css`.\n\nOut by design: site furniture (nav, footer, hero, content grids). Build those\nper project from the tokens. See `DESIGN.md`.\n\n## Maintaining the bridge\n\n`src/tailwind.css` is generated. Never edit it by hand. After changing\n`src/tokens.css`, run `npm run generate && npm test`.\n","readmeFilename":"README.md"}