{"_id":"@dizyx/nockerl-tokens","_rev":"3-2237ebf041130ad19d46b358c7e56f31","name":"@dizyx/nockerl-tokens","dist-tags":{"latest":"2.2.0"},"versions":{"2.1.0":{"name":"@dizyx/nockerl-tokens","version":"2.1.0","license":"MIT","_id":"@dizyx/nockerl-tokens@2.1.0","maintainers":[{"name":"mclenithan","email":"patrick.mclenithan@gmail.com"}],"homepage":"https://github.com/dizyx/nockerl-design#readme","bugs":{"url":"https://github.com/dizyx/nockerl-design/issues"},"dist":{"shasum":"b0280ac99ab0ac207ab16185379d05e6fcefc8f1","tarball":"https://registry.npmjs.org/@dizyx/nockerl-tokens/-/nockerl-tokens-2.1.0.tgz","fileCount":7,"integrity":"sha512-8GWYw5xmo3heK+hZJQNM/nWTE2DjZJlHDFL51QXOaV23qTBCp9Kk5y80DVEzFzo0zAn94rYo6jCKlovCbZA+yg==","signatures":[{"sig":"MEUCIQDUDwcChl4SjWcS7YGcBpfm5Lb4xvUi/R9tvjUfWkxw/QIgCZLJw2ldfIC702U3XaRzmoiq9tpSonQAR+yMxVpQ2zs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89995},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tokens.css":"./dist/tokens.css","./tokens.json":"./dist/tokens.json"},"gitHead":"0cf78783ce56ed78aa8955e846e6b4125aa63030","scripts":{"prepublishOnly":"cd ../.. && bun run build"},"_npmUser":{"name":"mclenithan","email":"patrick.mclenithan@gmail.com"},"repository":{"url":"git+https://github.com/dizyx/nockerl-design.git","type":"git","directory":"packages/tokens"},"_npmVersion":"11.0.0","description":"The canonical web build of the Nockerl design tokens. CSS custom properties plus a typed token map (tokens.json and TS), generated from the DTCG source. Source of truth: dizyx/nockerl-design.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nockerl-tokens_2.1.0_1785947950381_0.07786788095758745","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@dizyx/nockerl-tokens","version":"2.1.1","license":"MIT","_id":"@dizyx/nockerl-tokens@2.1.1","maintainers":[{"name":"mclenithan","email":"patrick.mclenithan@gmail.com"}],"homepage":"https://github.com/dizyx/nockerl-design#readme","bugs":{"url":"https://github.com/dizyx/nockerl-design/issues"},"dist":{"shasum":"19043be5885c66fc9a103caaea85cd73f9ab00a7","tarball":"https://registry.npmjs.org/@dizyx/nockerl-tokens/-/nockerl-tokens-2.1.1.tgz","fileCount":7,"integrity":"sha512-U1bf4h7Suht4cSd84WPYeYv2+eMNtJEFcwBIZKF2YZ+PSuo4dOvh2+J+wrSSxUB7GLrN1QD6VdcZULx9FALHrw==","signatures":[{"sig":"MEQCIEmPiS+5nCJsWnwFHFE+4wThfiobcd4PwmCBnPoVvjz7AiAtw2SQZOQjPPubSYkgUdSjy4k15/ZgNiLsAz5FeWVXcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dizyx%2fnockerl-tokens@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89995},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tokens.css":"./dist/tokens.css","./tokens.json":"./dist/tokens.json"},"gitHead":"09fde4d352648f3d835803f7acf1f59b87c21e8e","scripts":{"prepublishOnly":"cd ../.. && bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0d704bf4-0d36-444f-9a3a-123b3ad88ed1"}},"repository":{"url":"git+https://github.com/dizyx/nockerl-design.git","type":"git","directory":"packages/tokens"},"_npmVersion":"12.0.2","description":"The canonical web build of the Nockerl design tokens. CSS custom properties plus a typed token map (tokens.json and TS), generated from the DTCG source. Source of truth: dizyx/nockerl-design.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nockerl-tokens_2.1.1_1785961808707_0.5590518840897458","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@dizyx/nockerl-tokens","version":"2.2.0","description":"The canonical web build of the Nockerl design tokens. CSS custom properties plus a typed token map (tokens.json and TS), generated from the DTCG source. Source of truth: dizyx/nockerl-design.","license":"MIT","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dizyx/nockerl-design.git","directory":"packages/tokens"},"scripts":{"prepublishOnly":"cd ../.. && bun run build"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tokens.json":"./dist/tokens.json","./tokens.css":"./dist/tokens.css"},"sideEffects":["*.css"],"gitHead":"5590521dede4728d471598d378e633adccfccc5c","_id":"@dizyx/nockerl-tokens@2.2.0","bugs":{"url":"https://github.com/dizyx/nockerl-design/issues"},"homepage":"https://github.com/dizyx/nockerl-design#readme","_nodeVersion":"24.18.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-3KhO8Wa7KD1UiIRZ/o8GgQRg8Q9Z/E5CgcAyUCExwoeI8yASV5NMDobbWLpjLcDCwde1c5p9a44cJsDzgucFMg==","shasum":"bd981f4e7e44c52d247b792c0de208c3356d1d2c","tarball":"https://registry.npmjs.org/@dizyx/nockerl-tokens/-/nockerl-tokens-2.2.0.tgz","fileCount":7,"unpackedSize":89995,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dizyx%2fnockerl-tokens@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHoee5EHidf0cEOQJG35jELBtIWgO+taHdhDc+yDjpvcAiEAmHKX/RXxcbhbRqH7IkKqSKbUefyrZpWWaJd5QDN6HMo="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0d704bf4-0d36-444f-9a3a-123b3ad88ed1"}},"directories":{},"maintainers":[{"name":"mclenithan","email":"patrick.mclenithan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nockerl-tokens_2.2.0_1785983153299_0.7076871244727561"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-05T16:39:10.188Z","modified":"2026-08-06T02:25:53.807Z","2.1.0":"2026-08-05T16:39:10.536Z","2.1.1":"2026-08-05T20:30:08.851Z","2.2.0":"2026-08-06T02:25:53.450Z"},"bugs":{"url":"https://github.com/dizyx/nockerl-design/issues"},"license":"MIT","homepage":"https://github.com/dizyx/nockerl-design#readme","repository":{"type":"git","url":"git+https://github.com/dizyx/nockerl-design.git","directory":"packages/tokens"},"description":"The canonical web build of the Nockerl design tokens. CSS custom properties plus a typed token map (tokens.json and TS), generated from the DTCG source. Source of truth: dizyx/nockerl-design.","maintainers":[{"name":"mclenithan","email":"patrick.mclenithan@gmail.com"}],"readme":"# @dizyx/nockerl-tokens\n\nThe canonical Nockerl design tokens, web build (CSS custom properties), generated from the\nDTCG source in this repo (`tokens/` → Style Dictionary → `build/web/tokens.css`).\nConsumed as a versioned dependency: **never vendored, never hardcoded**.\n\n## Install\n\nPublic on npm. No registry configuration and no token:\n\n```bash\nnpm install @dizyx/nockerl-tokens\n# bun add @dizyx/nockerl-tokens   # (Bun works too)\n```\n\n## Quickstart\n\nImport the tokens once at your app root. Light values are on `:root`, dark on `.dark`:\n\n```css\n/* import the tokens (light = :root, dark = .dark) */\n@import \"@dizyx/nockerl-tokens/tokens.css\";\n```\n\nThat defines the `--color-*` / `--font-*` / `--space-*` / `--radius-*` custom properties. Read\nthem anywhere. If you use `@dizyx/nockerl-react`, its components read these same\nproperties automatically:\n\n```css\n.card {\n  background: var(--color-card-surface1);\n  border-radius: var(--radius-card);   /* 16px */\n  padding: var(--space-4);\n}\n```\n\n## Fonts\n\nThe type tokens name **Outfit** (`--font-family-sans`) and **Space Mono**\n(`--font-family-mono`). A CSS-variable file can't ship a typeface, so the consumer must load\nthose fonts. Otherwise text falls back to system fonts silently. Self-host with\n[Fontsource](https://fontsource.org):\n\n```bash\nnpm install @fontsource/outfit @fontsource/space-mono\n```\n\n```ts\nimport '@fontsource/outfit/300.css';         // sans (import the weights you render, 100-500)\nimport '@fontsource/outfit/400.css';\nimport '@fontsource/outfit/500.css';\nimport '@fontsource/space-mono/400.css';     // mono\nimport '@fontsource/space-mono/700.css';\n```\n\nUse `@fontsource/outfit` (family `Outfit`), not `@fontsource-variable/outfit` (family\n`Outfit Variable`, which won't match the token). The `@dizyx/nockerl-react` and Installation\ndocs cover this same step; the Compose and Swift packages bundle the font, so this is the\nweb-only wiring.\n\n## Publish (maintainers)\n\nPublishing is CI-only (`.github/workflows/release.yml`) and uses npm **trusted publishing**\nover OIDC, so there is no npm token anywhere: not in the repo, not in a secret, not on a dev\nmachine. The workflow proves its identity to npm at publish time and npm attaches a\n**provenance attestation**, which is what lets anyone confirm a published version really was\nbuilt from this repo at that commit.\n\nBump the version, then trigger the workflow (release / manual / `repository_dispatch`). A\n`vX.Y.Z` git tag publishes this npm artifact **in lockstep** with `@dizyx/nockerl-react` and\nthe Compose Maven artifact: one version line across the whole design system, semver.\n\nTwo things follow from how provenance works, and both bite if forgotten. The workflow has to\nrun in the repository named by `repository.url` in `package.json`, so publishing is done from\nthe public repository (the workflow checks this and says so before it fails). And a package\nhas to exist before a trusted publisher can be attached to it, so the very first version of a\nbrand new package is published by hand, and CI takes over from the second onward.\n\n---\n\nMIT. The full text ships in this package as [`LICENSE`](./LICENSE).\n","readmeFilename":"README.md"}