{"_id":"@atlure/tokens","_rev":"17-50b9c552fe38dded5725649a29c6e168","name":"@atlure/tokens","dist-tags":{"latest":"0.12.5"},"versions":{"0.2.0":{"name":"@atlure/tokens","version":"0.2.0","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.2.0","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"77c25c89d1ac90698172962ade8cb717582bc025","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.2.0.tgz","fileCount":26,"integrity":"sha512-LGYcW4Oq9R4VxTr5p9qdULnJic9c7bQylLA/HjWAlsBKA9wQl3HZRbrBDiZyYpWT9Sr8uZqPjvqFiz6eUOy0OA==","signatures":[{"sig":"MEUCIGTepYqSsTO5bPSs4Xx4318CxlVl2Jcx0sXagYdoIVhfAiEAriHfd4BmCAe2Ldk1ELvCjYOAw62T8xAMuQRaX4AG0WA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37424},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run generate && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.2.0_1785881175100_0.19540431804392866","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@atlure/tokens","version":"0.3.0","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.3.0","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"717153cbe26c9da3b6a59b0c10a498763d858183","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.3.0.tgz","fileCount":26,"integrity":"sha512-mloLwfUm3DXfMFc+lZSbHW2hP0qIjN0+HlRh9JYM7p3KniCaGzz/oUgy8KLvtS5O6DbQ/1cN0YnTJZsXJSFdaA==","signatures":[{"sig":"MEUCICTbfsoj1jtbQrVN0MLH6D7ZXSW1vFAEdLr1g/YHVqdMAiEA01eDsxBUmfoWrnatjSMcWgUCB2HZQw5qdK64ZT6pl+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37729},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.3.0_1785954083178_0.6412088733196273","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@atlure/tokens","version":"0.4.0","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.4.0","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"20fd343aacf32b4136cd12c51dafddac841a6bed","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.4.0.tgz","fileCount":26,"integrity":"sha512-voR0VXbJ6L5qNx+y0HOfcIcNqELRwrEV3VMqdQvvQCiTe2m/H6uWLX++9O4gUBQoxZCCuiFrUeD7WSp76kyjww==","signatures":[{"sig":"MEUCIQCT5ARRgg603d5uRY9eJmcmFjzo153TrJetDNgSZzWgeAIgCZdCMEX6vKmcNbj/p8Wmst59kRMRNd+ZQjG7CQHDswg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38150},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.4.0_1785960948294_0.16121357828130622","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@atlure/tokens","version":"0.5.0","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.5.0","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"6aec811a31d7cb9444638f4c5fe87f3b94f6345f","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.5.0.tgz","fileCount":26,"integrity":"sha512-kunRb1sNg5sl3s0HM970S/zkP8SWhivB5yasmW3eirudHZJNBFBcb4Z31XdgeJVY7Lisg2/rxRG5HgMHLrV1Kg==","signatures":[{"sig":"MEYCIQCkgWGMyH13lX63Ab3yAQaOXkntLUi9qwRnAUIGWV2rFAIhAM3jJpeRjZPFHMeuce5I6p15tCP4JPKAknk9BgL+8WKB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40118},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.5.0_1786050179754_0.33417229192098397","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@atlure/tokens","version":"0.6.0","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.6.0","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"ff5d3d4be11eb1d75f99f1a344ded38c6033e503","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.6.0.tgz","fileCount":26,"integrity":"sha512-1kTzmKEdOBUHFM6K/Psml0jGTgEF+sKC4kzg3PIPAGFYG4VvVeuF1E6ELqYIG4b6OtAaOsUqkJFFinxT1+XxPg==","signatures":[{"sig":"MEYCIQCqfG/NRyUvKJd9WURwhiITB5/6rZfpalx3C2uIwBdNIQIhAOCR8HMVB0R/zEoPaDSE/LE1gqSb2ghkunkhAzk/3EiX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40118},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.6.0_1786999198412_0.04762297205364496","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@atlure/tokens","version":"0.6.1","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.6.1","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"813fc8df4e7e920a18be527730750647d062869b","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.6.1.tgz","fileCount":26,"integrity":"sha512-WwL88NZSNneZ16c0UWowlqRQ+/O8yOEgz99VPRdNYtIWwMIoOvXawozw6ys5F34mKknqgpVrfFc35ziLR2Nq8Q==","signatures":[{"sig":"MEQCIBQcJI/cbRZzoY3bYgVaDGIh2troDGUpEW/YwIp+A1zsAiANyAYmroM1fclV4B3izKm/jejij0v5QAu1YwUFQQVoUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40118},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.6.1_1787004416465_0.8214916585285572","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@atlure/tokens","version":"0.7.0","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.7.0","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"2be30fd8739bfaf917cbcc062817ecdf3d741887","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.7.0.tgz","fileCount":26,"integrity":"sha512-fjwHiN5sxajOfQPLOPV4vxT6jtjksnnDCk86k+Wm8NYn5OdwFFCUdZr0npL0b10/DQaiDhxKr644/RKl8HuhMA==","signatures":[{"sig":"MEQCIGfpjdWPq54TxcrecdHlKhDNQyA8GxguddsNZJssNf2yAiBfxp3TxfWGPvfSKHgPSu0E3O17a7QAe5al1SKWmG9QAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40118},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.7.0_1787157777728_0.836209068835114","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@atlure/tokens","version":"0.8.0","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.8.0","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"3c7b3a56de424a1fa0f2ea8db77c2252c06d72ef","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.8.0.tgz","fileCount":26,"integrity":"sha512-mGwl2dJKSe75ja5R9xR7PY/aEu7Ooesosjprje+tCseMLuKUz+gc4m5iP1PL//8dkSjRVZBsoNe2CaETjLbkpA==","signatures":[{"sig":"MEUCIQDI+3jX8ZYIkvwxmTv814DTJRXdiuRNp5/YuokP4CIV+QIgPaHbupPlua1/KlZgRG/lRiQiaMznemrJCBkIwdW3eAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40118},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.8.0_1787177530148_0.4243571857895583","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@atlure/tokens","version":"0.9.0","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.9.0","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"ab333921573a1b38b2a51c5e57d3cda91694ca38","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.9.0.tgz","fileCount":26,"integrity":"sha512-P5KZlfmlNqJ/A/jeDgl6cljwuG1wDCJMXH7NAnEHoOP1KaVrS4rV5KdSgo5YT13ctxciX5UUWJoi9bwMG4v2bA==","signatures":[{"sig":"MEUCIQDkPHWQwK4orpU5zRO3tPC7v4HmNzMwCBTsAY3yz5+v7gIgCQq3m+0kP1IeiBAh9AAJViQ0Yj/0Sj5++ymZ+CowUNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40118},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.9.0_1787180814027_0.0623664844187477","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@atlure/tokens","version":"0.10.0","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.10.0","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"9a7b4ecc444c399e2bbba3589336fb0e98c8e34c","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.10.0.tgz","fileCount":26,"integrity":"sha512-yTWXGOJOL2M6SSKpkXvOw16psF8OUGpGMn0tRDm7/E//g8T04GEijeHhIMmFH6RzuvlMULEQe4Y2aXg4eftOpg==","signatures":[{"sig":"MEQCIG3Fjf3UznTi7dGal0XDfcUyDlZWCT83QIxz0mSt8XjBAiA/OMHrs1NNrTwKdUtYco/In+3op9cRAPjehmuUv2NB9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40119},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.10.0_1787600031595_0.8553783026478159","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@atlure/tokens","version":"0.11.0","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.11.0","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"40515de4288fa70b50d9680496a2c0893fa69025","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.11.0.tgz","fileCount":26,"integrity":"sha512-WXh4aNw1eFbpw/pBe2/BtsatEKePj4MX23r9UDBZeAjwbq2cTMb7QuH6LNt3AQZtjL85E9S7OCnTtss6w5xSsQ==","signatures":[{"sig":"MEUCIQDSJ3ZitBbkXKYc1+cdxOrqCp7uLyafDAEiNRKcwrvrpQIgLbKQrOU8sermk3FlysQ5b5yV71yFHWX/8ZCGhn/tDxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40528},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.11.0_1787604976611_0.3401214026988022","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@atlure/tokens","version":"0.12.0","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.12.0","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"beb4783b48146b64939c7aa77888eb3c64ccc1aa","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.12.0.tgz","fileCount":26,"integrity":"sha512-KoKnXF3VRaIZZji5V3uSP6RHINfgzSWhXer+pUpQ9uhK++UlraUMR4kIUi+ERPvz8t8pWf3y+vSG8UyXdaGXEQ==","signatures":[{"sig":"MEQCIB3fUjw34OxZEeTD3if9EAcQwl9ygIG1JZkDIB7FlEEYAiBp8fql4EAlOYhyFPaYWC/HL/t85zVvL4mIAs9gcyRz0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40528},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.12.0_1787779211856_0.471277510993398","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@atlure/tokens","version":"0.12.1","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.12.1","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"3fce06c2f4d5d65d268f94d1b5f7e2282fc520de","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.12.1.tgz","fileCount":26,"integrity":"sha512-qs+uLmgZi+cy7C3VNdC43esOtRSrfeSxjgPdQzepMq3USNRuVlCMYdSiKf+2wYQa8PlRGX5IYpDNfiNu8cD27A==","signatures":[{"sig":"MEUCIDEsO2EYKyTDA8Jkr7EpAgRW/HMeCnYnGUd65lYols4VAiEA5e/txD8LwEoBFbwddWNnk7WvN5cLKRRqziW266evw7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40660},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.12.1_1788213383322_0.537443105569211","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"@atlure/tokens","version":"0.12.2","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.12.2","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"2decc7d627aaac6c3ca4eac47b024f77452a533a","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.12.2.tgz","fileCount":26,"integrity":"sha512-wE0nLonlXTjizGCa1Z5IVa9RM35V2wKoK8UgDvSQgf5tEbGTQcXTWq2NTcGam5DRtmn1C9T3Kd1GCEFTeORPHg==","signatures":[{"sig":"MEYCIQCTBUksAq5iz8s+3jZjNlVzfmc4RVOjwQZovTFkH1nOUAIhAKNiLd2FkNnnZeE/GiKUT4zOK1zgWyhxgcfhm0zCytYY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40660},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.12.2_1788215740558_0.7210602725628137","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"@atlure/tokens","version":"0.12.3","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.12.3","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"b1129980c4eae48edc6a6f44975791768ae9e366","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.12.3.tgz","fileCount":26,"integrity":"sha512-aLWssL5NqcIft9seahvpvuiLW7xSlQnX7DUpfBrR2sr1p9gOSLFNYX2oBshzNkRoKV39rYgQOF/EcoDPVLRmWA==","signatures":[{"sig":"MEUCIQD8FpTpIXNu2vYdtUaPUAInKKmDOnlwKTdFt8dhOjrYPwIgDSgZ89Q0gcw/ZIUwyq7fVNTJo6rUMVFkaHtT4b7w38I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40660},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.12.3_1788284735647_0.7965110198890786","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"name":"@atlure/tokens","version":"0.12.4","author":"David Moreira","license":"MIT","_id":"@atlure/tokens@0.12.4","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"dist":{"shasum":"28bedf72363bf4abf9059a5586710a5ea88d06c7","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.12.4.tgz","fileCount":26,"integrity":"sha512-LWzDD9OoWLTJoRyFoOGw6iN0rIsqdguFPTDfZrAd3ZoVYbeo36Z7MmUBtPvfYXREhnZl36STiVflPahm+iXAuQ==","signatures":[{"sig":"MEUCIQDWhyqw6VnKV4D8lV8MBL8dBY6Nfjd9JxTuh+I1i8HaKQIgCEwyT/mZt8kWG+G/Zh5j4dmCXD6bkeP9YcjOVpMtl/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40660},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./package.json":"./package.json","./theme.v4.css":"./generated/theme.v4.css"},"scripts":{"test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","build":"pnpm run generate && tsc -p tsconfig.build.json","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\"","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","typecheck":"tsc -p tsconfig.tools.json --noEmit","compile:tools":"tsc -p tsconfig.tools.json"},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"repository":{"url":"git+https://github.com/simpxlify/atlure-ui.git","type":"git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.9.3","@types/node":"22.19.0"},"_npmOperationalInternal":{"tmp":"tmp/tokens_0.12.4_1788286765696_0.3618779745277372","host":"s3://npm-registry-packages-npm-production"}},"0.12.5":{"name":"@atlure/tokens","version":"0.12.5","description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","license":"MIT","author":"David Moreira","repository":{"type":"git","url":"git+https://github.com/simpxlify/atlure-ui.git","directory":"packages/tokens"},"type":"module","sideEffects":false,"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./theme.css":"./generated/theme.css","./native.css":"./generated/native.css","./theme.v4.css":"./generated/theme.v4.css","./package.json":"./package.json"},"publishConfig":{"access":"public"},"devDependencies":{"@types/node":"22.19.0","typescript":"5.9.3"},"scripts":{"compile:tools":"tsc -p tsconfig.tools.json","generate":"pnpm run compile:tools && node .build/scripts/build-tokens.js","build":"pnpm run generate && tsc -p tsconfig.build.json","typecheck":"tsc -p tsconfig.tools.json --noEmit","test":"pnpm run compile:tools && node --test \".build/test/**/*.test.js\"","clean":"node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('generated',{recursive:true,force:true});fs.rmSync('.build',{recursive:true,force:true})\""},"_nodeVersion":"22.16.0","_id":"@atlure/tokens@0.12.5","dist":{"integrity":"sha512-+FcZa3TuRqEt3x6S9dDYkW0qMo89ZR0oyOAgHnd0RfY4ahLA495T3Is2kFI7jVvcWgbwC8XyIUSrk+dj8l1IYg==","shasum":"274cadda59cc7597e6e3f4e0f6ac313eee6c3b4a","tarball":"https://registry.npmjs.org/@atlure/tokens/-/tokens-0.12.5.tgz","fileCount":26,"unpackedSize":40660,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBHN1/3ULCgFqi161SC2ND9ywo/UH9DOaRJgajhsGyuPAiBHYYm1Rx9hnOAF894L7JeFIdFIOGq6l8rGsMjuLT4CJQ=="}]},"_npmUser":{"name":"simpxlify","email":"darupemo.98@gmail.com"},"directories":{},"maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tokens_0.12.5_1788288227407_0.4193742842602517"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-04T22:06:14.902Z","modified":"2026-09-01T18:43:47.732Z","0.2.0":"2026-08-04T22:06:15.255Z","0.3.0":"2026-08-05T18:21:23.333Z","0.4.0":"2026-08-05T20:15:48.513Z","0.5.0":"2026-08-06T21:02:59.935Z","0.6.0":"2026-08-17T20:39:58.569Z","0.6.1":"2026-08-17T22:06:56.619Z","0.7.0":"2026-08-19T16:42:57.879Z","0.8.0":"2026-08-19T22:12:10.294Z","0.9.0":"2026-08-19T23:06:54.176Z","0.10.0":"2026-08-24T19:33:51.740Z","0.11.0":"2026-08-24T20:56:16.757Z","0.12.0":"2026-08-26T21:20:11.974Z","0.12.1":"2026-08-31T21:56:23.477Z","0.12.2":"2026-08-31T22:35:40.695Z","0.12.3":"2026-09-01T17:45:35.803Z","0.12.4":"2026-09-01T18:19:25.831Z","0.12.5":"2026-09-01T18:43:47.538Z"},"author":"David Moreira","license":"MIT","repository":{"type":"git","url":"git+https://github.com/simpxlify/atlure-ui.git","directory":"packages/tokens"},"description":"Atlure design tokens: the single source of truth for color, spacing, radius and type scales across web and React Native","maintainers":[{"name":"simpxlify","email":"darupemo.98@gmail.com"}],"readme":"# @atlure/tokens\n\nThe single source of truth for Atlure's visual language. Every color, radius, spacing, type and control-height value in the product originates in `src/tokens.ts` — nowhere else.\n\n## Why this package exists\n\nTwo previous attempts at an Atlure design system (`pawlii-ui` and `pawlii-ui2`) both failed the same way: tokens were duplicated by hand across a JS theme object, a CSS variable file and a Tailwind config, and the copies drifted. This package makes that impossible by generating every downstream artifact from one file, and by failing the build if a generated file is edited by hand.\n\n## One source, four generated artifacts plus two compiled modules\n\n`src/tokens.ts` is the single source. Four files are emitted by `scripts/build-tokens.ts`; the JS theme object and `NAV_THEME` are hand-written modules that import from it and are compiled by `tsc`. The distinction matters: only the four emitted files are covered by the checksum guard.\n\n\n\n| Artifact | Consumer |\n|---|---|\n| `dist/index.js` (`THEME`, `palette`, `semantic`, scales) | React Native runtime, `StatusBar`, splash, Reanimated |\n| `dist/navigation.js` (`NAV_THEME`) | expo-router / React Navigation 7 |\n| `generated/theme.css` | web, as `:root` and `.dark:root` custom properties |\n| `generated/native.css` | the Expo app and `@atlure/ui`, via NativeWind |\n| `generated/theme.v4.css` | unused today; a Tailwind 4 `@theme` block so migrating later is a config swap, not a token rewrite |\n| `../tailwind-preset/generated/index.js` | `@atlure/tailwind-preset`, consumed by both web Tailwind and NativeWind |\n\nColors are emitted as **space-separated HSL channels** (`--primary: 20.5 90.2% 48.2%`). That is the one format which behaves identically in Tailwind 3 and NativeWind 4's CSS-variable runtime, and the only one supporting `hsl(var(--token) / <alpha-value>)`. The JS theme object keeps hex, because React Native APIs need literal colors.\n\n## Commands\n\n```\npnpm generate    regenerate all artifacts\npnpm build       generate, then compile src to dist\npnpm test        generate, then run the parity and contrast suite\npnpm typecheck\n```\n\nThere is deliberately no `tsx`, no `vitest` and no `esbuild` here — just `typescript` and Node's built-in test runner. That keeps the package that everything else depends on as close to zero-dependency as possible.\n\n## Three bugs fixed relative to the prototype\n\nThe palette was transcribed from the finalized prototype's `src/styles/globals.css`, with three corrections:\n\n1. **Dark mode lost the brand.** The prototype set `--primary: #f1f5f9` in dark mode — leftover stock shadcn — so Atlure rendered as a grey app in dark mode. Primary is now the brand orange `#ea580c` in both schemes, and a test asserts it.\n2. **`--border` was a pre-multiplied alpha color** (`rgba(234, 88, 12, 0.2)`), which cannot round-trip through the HSL-channel format and is unusable in React Native. `border` is now the solid brand orange; consumers write `border-border/20` to get the same visual result on both platforms.\n3. **`--input: transparent` was not a color token.** It is now modeled explicitly, with a separate `inputBackground`.\n\n`NAV_THEME` also gained the **`fonts` key** that React Navigation 7 requires and the predecessor omitted — a latent runtime crash.\n\n## Enforcement\n\n`pnpm test` is not a formality; it is what keeps the single-source-of-truth promise:\n\n- every semantic token exists in **both** light and dark\n- every token appears in the web CSS, the native CSS **and** the Tailwind preset — a missing key fails the build\n- every color round-trips hex → HSL → hex within a 2/255 per-channel tolerance\n- primary-on-primary-foreground meets WCAG AA (≥3:1) and body-on-background meets AA (≥4.5:1), in both schemes\n- `NAV_THEME` satisfies React Navigation's expected shape\n- a **checksum** over the generated files is committed; hand-editing any generated artifact fails the test\n\nCI additionally runs `git diff --exit-code` after building, so a generated file that was not regenerated and committed fails the pipeline.\n\n## Scales are Tailwind scales, not lookup tables\n\nThe predecessor exposed `buttonHeight`, `inputHeight` and `INPUT_HEIGHTS` as bespoke JS `Record<>` maps, which is why its `Button` became unmaintainable. Here, `radius`, `spacing`, `fontSize`, `lineHeight` and `controlHeight` are emitted as Tailwind scale entries, so `h-control-md` and `text-base` resolve identically on web and native.\n\n## Adding or changing a token\n\nEdit `src/tokens.ts`, run `pnpm build`, and commit the regenerated artifacts. Never edit anything under `generated/`. Adding a semantic token requires adding it to **both** `semantic.light` and `semantic.dark`, or the parity test fails.\n","readmeFilename":""}