{"_id":"@acmelabs/design-system","_rev":"3-58d78ea842b7ef7c87bd7bedced23a6a","name":"@acmelabs/design-system","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@acmelabs/design-system","version":"0.1.0","license":"MIT","_id":"@acmelabs/design-system@0.1.0","maintainers":[{"name":"loriensleafs","email":"pkloss@gmail.com"}],"homepage":"https://github.com/acmelabs-15/design-system#readme","bugs":{"url":"https://github.com/acmelabs-15/design-system/issues"},"dist":{"shasum":"e2ce5956c47aedd291ebac1df21418d4c0648179","tarball":"https://registry.npmjs.org/@acmelabs/design-system/-/design-system-0.1.0.tgz","fileCount":680,"integrity":"sha512-G8/DE3PQmuD2wfZ1WYegfMHi/dZI7C5cjrFi8fg9Fjcg6nrF8XlCIZdFlYQ/GSjy5DpI06v0uRd3E/PFFNfm1A==","signatures":[{"sig":"MEYCIQDn2VteYIGKwgAmBCPUX8zUlUHrF95Z+U1wJSBd6asn8wIhAMWsmS2mJF7m3L82LF4iQl88+ZsHR/wuv6K9nVPePLL2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3399571},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./bundle":"./dist/bundle/design-system.js","./dist/*":"./dist/*","./bundle/min":"./dist/bundle/design-system.min.js","./tokens.css":"./tokens.css","./dashboard.css":"./dashboard.css","./bundle/standalone":"./dist/bundle/design-system.standalone.min.js"},"gitHead":"8c4bea22b46c9bc3a990eaf237e74c427e724d38","scripts":{"dev":"bun scripts/dev.ts","docs":"bun docs-src/build.ts","lint":"bun x biome check .","test":"bun test","build":"bun scripts/build.ts","split":"bun scripts/split-css.ts","lint:fix":"bun x biome check --write .","prepublishOnly":"bun run build && bun test && bun run docs"},"_npmUser":{"name":"loriensleafs","email":"pkloss@gmail.com"},"repository":{"url":"git+https://github.com/acmelabs-15/design-system.git","type":"git"},"_npmVersion":"11.19.0","description":"The house design system as Lit web components: vercel.com/geist foundations and every Geist component at Geist's values, set in Google Sans Flex and Google Sans Code, plus the house parts.","directories":{},"sideEffects":true,"_nodeVersion":"24.20.0","dependencies":{"lit":"^3.3.3","@lit-labs/motion":"^1.1.0","@lit-labs/router":"^0.1.4","@lit-labs/signals":"^0.3.0","urlpattern-polyfill":"^10.0.0","@lit-labs/virtualizer":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"happy-dom":"^15.11.0","@types/bun":"^1.4.2","typescript":"~5.9.0","@types/node":"^26.5.0","ts-lit-plugin":"^2.0.2","@biomejs/biome":"^2.0.0","@lit-labs/compiler":"^1.1.2","@tanstack/highlight":"^0.0.10","@happy-dom/global-registrator":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/design-system_0.1.0_1788944356320_0.3072048580691038","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@acmelabs/design-system","version":"0.1.1","license":"MIT","_id":"@acmelabs/design-system@0.1.1","maintainers":[{"name":"loriensleafs","email":"pkloss@gmail.com"}],"homepage":"https://acmelabs-15.github.io/design-system/","bugs":{"url":"https://github.com/acmelabs-15/design-system/issues"},"dist":{"shasum":"2b4219480e670e9edd6e8e9c77273f664933d4ab","tarball":"https://registry.npmjs.org/@acmelabs/design-system/-/design-system-0.1.1.tgz","fileCount":680,"integrity":"sha512-jPwS4aAXOpPoKg61eqm/wihNTz01Wv+i5zD76loHjn1UZdjhU3idD2kA+jgh1VdMKpCZEXqfWYvYw+64CiA2Sw==","signatures":[{"sig":"MEYCIQDWP/wSjAhcYFUcpTSx4HqUGweFHJaIj5TeNFHCOuLBfAIhAIUY/BfIxKgKuvaYj5k4UTVKL4NJZWOyUqqdUB+6zmJy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@acmelabs%2fdesign-system@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3398384},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./bundle":"./dist/bundle/design-system.js","./dist/*":"./dist/*","./bundle/min":"./dist/bundle/design-system.min.js","./tokens.css":"./tokens.css","./dashboard.css":"./dashboard.css","./bundle/standalone":"./dist/bundle/design-system.standalone.min.js"},"gitHead":"50b24881270be51bf62249337d06f2e66ac08003","scripts":{"dev":"bun scripts/dev.ts","docs":"bun docs-src/build.ts","lint":"bun x biome check .","test":"bun test","build":"bun scripts/build.ts","split":"bun scripts/split-css.ts","lint:fix":"bun x biome check --write .","prepublishOnly":"bun run build && bun test && bun run docs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc6c72cd-ee85-4c99-80df-d94a66731d87"}},"repository":{"url":"git+https://github.com/acmelabs-15/design-system.git","type":"git"},"_npmVersion":"11.19.0","description":"The house design system as Lit web components: vercel.com/geist foundations and every Geist component at Geist's values, set in Google Sans Flex and Google Sans Code, plus the house parts.","directories":{},"sideEffects":true,"_nodeVersion":"24.20.0","dependencies":{"lit":"^3.3.3","@lit-labs/motion":"^1.1.0","@lit-labs/router":"^0.1.4","@lit-labs/signals":"^0.3.0","urlpattern-polyfill":"^10.0.0","@lit-labs/virtualizer":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"happy-dom":"^15.11.0","@types/bun":"^1.4.2","typescript":"~5.9.0","@types/node":"^26.5.0","ts-lit-plugin":"^2.0.2","@biomejs/biome":"^2.0.0","@lit-labs/compiler":"^1.1.2","@tanstack/highlight":"^0.0.10","@happy-dom/global-registrator":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/design-system_0.1.1_1788945598602_0.07333615360810608","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@acmelabs/design-system","version":"0.2.0","description":"The house design system as Lit web components: vercel.com/geist foundations and every Geist component at Geist's values, set in Google Sans Flex and Google Sans Code, plus the house parts.","license":"MIT","homepage":"https://acmelabs-15.github.io/design-system/","type":"module","repository":{"type":"git","url":"git+https://github.com/acmelabs-15/design-system.git"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./bundle":"./dist/bundle/design-system.js","./bundle/min":"./dist/bundle/design-system.min.js","./bundle/standalone":"./dist/bundle/design-system.standalone.min.js","./tokens.css":"./tokens.css","./dashboard.css":"./dashboard.css","./dist/*":"./dist/*"},"sideEffects":true,"scripts":{"split":"bun scripts/split-css.ts","build":"bun scripts/build.ts","test":"bun test","lint":"bun x biome check .","lint:fix":"bun x biome check --write .","docs":"bun docs-src/build.ts","dev":"bun scripts/dev.ts","prepublishOnly":"bun run build && bun test && bun run docs"},"dependencies":{"@floating-ui/dom":"^1","@internationalized/date":"^3.12.4","@lit-labs/motion":"^1.1.0","@lit-labs/router":"^0.1.4","@lit-labs/signals":"^0.3.0","@lit-labs/virtualizer":"^2.1.1","@tanstack/charts":"0.16.2","@tanstack/highlight":"^0.0.10","@tanstack/lit-form":"^1.25.5","@tanstack/lit-hotkeys":"^0.11.0","@tanstack/lit-store":"^0.13.2","@tanstack/lit-virtual":"^3.14.0","@tanstack/markdown":"^0.0.13","@tanstack/pacer":"^0.22.0","@zag-js/remove-scroll":"^1.43.3","lit":"^3.3.3","urlpattern-polyfill":"^10.0.0"},"devDependencies":{"@biomejs/biome":"^2.0.0","@happy-dom/global-registrator":"^20.14.0","@lit-labs/compiler":"^1.1.2","@types/bun":"^1.4.2","@types/node":"^26.5.0","happy-dom":"^15.11.0","ts-lit-plugin":"^2.0.2","typescript":"~5.9.0","typescript-lit-html-plugin":"^0.9.1"},"gitHead":"860073fb50a79a30e8eb2a0f05153630603b76d4","_id":"@acmelabs/design-system@0.2.0","bugs":{"url":"https://github.com/acmelabs-15/design-system/issues"},"_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-OY5wG5A+hIuHlQaqt1cRCJmJ18/BdgVGkxnXwHMASNiX6LUNax1zu49wrx703bThcmqmfuV4WR62qfC6KxWGlg==","shasum":"a60986ca35645bf1924d80d29bc15a901298b235","tarball":"https://registry.npmjs.org/@acmelabs/design-system/-/design-system-0.2.0.tgz","fileCount":1022,"unpackedSize":11527979,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@acmelabs%2fdesign-system@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDw1NrFoc7FTpWVBMI5qqd2Q0BEfGb7ae1+4o7m7hlm7QIhAJTmQm2tAWf88RTUr3hj0XigACNUQBD6x2TE+uFSA6pu"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc6c72cd-ee85-4c99-80df-d94a66731d87"}},"directories":{},"maintainers":[{"name":"loriensleafs","email":"pkloss@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/design-system_0.2.0_1789011403646_0.6914708518169062"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-09T08:59:16.074Z","modified":"2026-09-10T03:36:44.212Z","0.1.0":"2026-09-09T08:59:16.463Z","0.1.1":"2026-09-09T09:19:58.767Z","0.2.0":"2026-09-10T03:36:43.853Z"},"bugs":{"url":"https://github.com/acmelabs-15/design-system/issues"},"license":"MIT","homepage":"https://acmelabs-15.github.io/design-system/","repository":{"type":"git","url":"git+https://github.com/acmelabs-15/design-system.git"},"description":"The house design system as Lit web components: vercel.com/geist foundations and every Geist component at Geist's values, set in Google Sans Flex and Google Sans Code, plus the house parts.","maintainers":[{"name":"loriensleafs","email":"pkloss@gmail.com"}],"readme":"# @acmelabs/design-system\n\nThe house design system as web components. Geist foundations and every Geist component at\nGeist's values, set in Google Sans Flex and Google Sans Code, plus the house parts the Vercel\ndashboard adds. Built with [Lit](https://lit.dev), one directory per element, shadow DOM with a\nshared global stylesheet.\n\nDocs: <https://acmelabs-15.github.io/design-system/>\n\n## Use it from a CDN\n\nNo build step. Two tags:\n\n```html\n<link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=Google+Sans+Flex:wght@400..700&family=Google+Sans+Code:wght@400..700&display=swap\">\n<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/@acmelabs/design-system@0.1/tokens.css\">\n<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@acmelabs/design-system@0.1/dist/bundle/design-system.min.js\"></script>\n\n<acme-button variant=\"primary\">Deploy</acme-button>\n<acme-badge hue=\"green\" subtle>Ready</acme-badge>\n```\n\nA host that admits a script from a CDN but no stylesheet from one (the Claude artifact CSP is one)\ntakes the standalone bundle, which installs `tokens.css` into the document on import:\n\n```html\n<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@acmelabs/design-system@0.1/dist/bundle/design-system.standalone.min.js\"></script>\n```\n\n`tokens.css` is the global layer: the color scales, the semantic tokens, the reset, the type\nclasses and the layout utilities. The bundle is self-contained (Lit and the labs packages are\ninside it) and registers every `acme-*` element. `dashboard.css` carries the page-level recipes\nthe Vercel dashboard composes in light DOM.\n\n## Install from npm\n\n```sh\nbun add @acmelabs/design-system\n```\n\n```ts\nimport \"@acmelabs/design-system\"; // every element registers on import\nimport \"@acmelabs/design-system/tokens.css\";\n```\n\nThe unbundled build under `dist/` keeps Lit as a dependency, so one copy of Lit serves the whole\napp. Single elements import from `@acmelabs/design-system/dist/components/<name>/<name>.js`.\n\n## Layout\n\n```\nsrc/\n  base.ts                       AcmeElement, the shared shadow reset, the icon glyphs\n  index.ts                      re-exports every element\n  shared/                       helpers used by several elements; element-less style families\n  components/<name>/\n    <name>.ts                   the element\n    <name>.styles.ts            its Lit css`` module (generated from the audited sheet)\n    __tests__/<name>.test.ts    bun:test with happy-dom\ndocs-src/                       the docs site: a Lit app on @lit-labs/router, one fragment per page\ndocs/                           the built site (GitHub Pages serves it)\nscripts/                        split-css, build, dev server\n```\n\n## Scripts\n\n| Command | What it does |\n|---|---|\n| `bun run build` | Transpiles `src/` with the Lit template compiler into `dist/`, then bundles `dist/bundle/design-system(.min).js` |\n| `bun run docs` | Builds the docs site into `docs/` |\n| `bun run dev` | Rebuilds on change and serves the docs at <http://localhost:4180> |\n| `bun test` | Unit tests plus a render test of every docs page |\n| `bun run lint` | Biome |\n| `bun run split` | Regenerates `tokens.css` and the style modules from the audited house sheet |\n\n## Release\n\nPublishing runs in GitHub Actions through npm's Trusted Publisher (OpenID Connect), workflow\n`publish-package.yml`, environment `publish-package`; no npm token anywhere.\n\n```sh\nnpm version patch        # bumps package.json and tags v0.1.x\ngit push --follow-tags   # the tag starts the publish\n```\n\n## Conventions\n\n- Every element is `acme-*`. Properties reflect from attributes; array and object values take\n  JSON in the attribute. Events are `acme-change`, `acme-select`, `acme-toggle` and so on, and\n  they bubble and are composed.\n- Values come from vercel.com/geist. Where Geist has the component, Geist's value is the value.\n- The type families never change: Google Sans Flex for text, Google Sans Code for numbers,\n  labels and code.\n- Labs packages in use: `@lit-labs/signals` (shared theme and toast state), `@lit-labs/motion`\n  (collapse), `@lit-labs/virtualizer` (tables past a few hundred rows), `@lit-labs/router` (the\n  docs app), `@lit-labs/compiler` (build-time template compilation). `@lit-labs/testing` is not\n  used: the package does not support SSR.\n","readmeFilename":"README.md"}