{"_id":"@anyknown/ui","_rev":"10-64f559ffde7bf26aa61a3b7bf78122e7","name":"@anyknown/ui","dist-tags":{"latest":"0.7.0"},"versions":{"0.1.0":{"name":"@anyknown/ui","version":"0.1.0","license":"MIT","_id":"@anyknown/ui@0.1.0","maintainers":[{"name":"anyknown-admin","email":"admin@anyknown.com"}],"dist":{"shasum":"bb4c6c9f92b9f26a678b0f7e2a7836742d4ccf4b","tarball":"https://registry.npmjs.org/@anyknown/ui/-/ui-0.1.0.tgz","fileCount":121,"integrity":"sha512-A0HG1TmZ61S/XGqY7u+jUC2oCMrqZMs9MePlQG/vgqyI+b6RoaKwhhurVUHWc7pJv8StydogvgHqwj4gctMgFg==","signatures":[{"sig":"MEYCIQDttyd7McKH2kvQOP2Fs5SFtAeclNawcBxayQYBMuVyYwIhAOLqW0DGA9N+zab4hfuL/UJqSa2teHNBFBOzlO0l12hF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329406},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tokens.css":"./dist/tokens.css","./scrollbar.css":"./dist/scrollbar.css","./themes.stylex":{"types":"./dist/themes.stylex.d.ts","default":"./dist/themes.stylex.js"},"./tokens.stylex":{"types":"./dist/tokens.stylex.d.ts","default":"./dist/tokens.stylex.js"}},"gitHead":"c058540ea107def2509970771f530e5d9a2cca85","scripts":{"fmt":"oxfmt","lint":"oxlint src","site":"vite --config site/vite.config.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && node scripts/esm-extensions.mjs && cp src/tokens.css src/scrollbar.css dist/","check":"turbo run typecheck lint fmt:check","fmt:check":"oxfmt --check","site:test":"vitest run --config site/smoke.config.ts","typecheck":"tsc --noEmit","playground":"vite --config playground/vite.config.ts","site:build":"pnpm build && vite build --config site/vite.config.ts","site:deploy":"pnpm site:build && npx wrangler deploy --config site/wrangler.jsonc","verify:pack":"pnpm build && node scripts/verify-pack.mjs","prepublishOnly":"pnpm check && pnpm test && pnpm verify:pack"},"_npmUser":{"name":"anyknown-admin","email":"admin@anyknown.com"},"_npmVersion":"10.9.7","description":"AnyKnown design system — StyleX tokens, themes, and 34 components","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"diff":"^9.0.0","@base-ui/react":"^1.7.0","@stylexjs/stylex":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","oxfmt":"^0.65.0","turbo":"^2.10.9","marked":"^18.0.11","oxlint":"^1.80.0","vitest":"^4.1.11","postcss":"^8.5.26","react-dom":"^19.2.8","typescript":"^5.9.0","@babel/core":"^8.0.1","@types/node":"^26.4.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","@types/react-dom":"^19.2.5","@types/babel__core":"^7.20.5","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@stylexjs/babel-plugin":"0.19.0","@testing-library/react":"^16.3.3","@stylexjs/postcss-plugin":"0.19.0","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.1.0_1788010724841_0.6230806959290516","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@anyknown/ui","version":"0.2.0","license":"MIT","_id":"@anyknown/ui@0.2.0","maintainers":[{"name":"anyknown-admin","email":"admin@anyknown.com"}],"homepage":"https://ui.anyknown.com","bugs":{"url":"https://github.com/anyknown-com/ui/issues"},"dist":{"shasum":"f0a4496e1ec7fb8d0e61935086265c49376b0c70","tarball":"https://registry.npmjs.org/@anyknown/ui/-/ui-0.2.0.tgz","fileCount":119,"integrity":"sha512-Q4Ca+/H7wTn2iZGUUbNgW2qe5qAZwP1Y+ebQoR3Xu2r0Eo9YdZFC9l5xLF1gLrkNhoEHLJhlO0965TNZ35GIyw==","signatures":[{"sig":"MEQCIBsUZ02L4xm5IP6v5GcYYKuRulE1RKdj87lh9bQj4X2PAiAFZKWSBXYXigH63661IF8S1n3gt+ED5wnqCtVMu/zP6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anyknown%2fui@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":338144},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tokens.css":"./dist/tokens.css","./scrollbar.css":"./dist/scrollbar.css","./themes.stylex":{"types":"./dist/themes.stylex.d.ts","default":"./dist/themes.stylex.js"},"./tokens.stylex":{"types":"./dist/tokens.stylex.d.ts","default":"./dist/tokens.stylex.js"}},"gitHead":"14ee8bb463e2f768946a0946e945408ecad61fcb","scripts":{"fmt":"oxfmt","lint":"oxlint src","site":"vite --config site/vite.config.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && node scripts/esm-extensions.mjs && cp src/tokens.css src/scrollbar.css dist/","check":"turbo run typecheck lint fmt:check","fmt:check":"oxfmt --check","site:test":"vitest run --config site/smoke.config.ts","typecheck":"tsc --noEmit","gen:themes":"node -e \"import('./scripts/themes.mjs').then(async m => (await import('node:fs')).writeFileSync('src/themes.stylex.ts', m.generate()))\" && oxfmt src/themes.stylex.ts","playground":"vite --config playground/vite.config.ts","site:build":"pnpm build && vite build --config site/vite.config.ts && node scripts/llms-txt.mjs","site:deploy":"pnpm site:build && npx wrangler deploy --config site/wrangler.jsonc","verify:pack":"pnpm build && node scripts/verify-pack.mjs","prepublishOnly":"pnpm check && pnpm test && pnpm verify:pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc128797-4156-45d9-9650-e9f7c3722c68"}},"repository":{"url":"git+https://github.com/anyknown-com/ui.git","type":"git"},"_npmVersion":"12.0.2","description":"AnyKnown design system — StyleX tokens, themes, and 34 components","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"diff":"^9.0.0","@base-ui/react":"^1.7.0","@stylexjs/stylex":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","oxfmt":"^0.65.0","turbo":"^2.10.9","marked":"^18.0.11","oxlint":"^1.80.0","vitest":"^4.1.11","postcss":"^8.5.26","react-dom":"^19.2.8","typescript":"^5.9.0","@babel/core":"^8.0.1","@types/node":"^26.4.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","@types/react-dom":"^19.2.5","@types/babel__core":"^7.20.5","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@stylexjs/babel-plugin":"0.19.0","@testing-library/react":"^16.3.3","@stylexjs/postcss-plugin":"0.19.0","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.2.0_1788021281383_0.052552341900720334","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@anyknown/ui","version":"0.3.0","license":"MIT","_id":"@anyknown/ui@0.3.0","maintainers":[{"name":"anyknown-admin","email":"admin@anyknown.com"}],"homepage":"https://ui.anyknown.com","bugs":{"url":"https://github.com/anyknown-com/ui/issues"},"dist":{"shasum":"ac449941356f9c470c700f33b70bce82785b51dd","tarball":"https://registry.npmjs.org/@anyknown/ui/-/ui-0.3.0.tgz","fileCount":119,"integrity":"sha512-Ga9pZJsOXUFpERx1ns/HaF6Q+XjJ7TEaC2wgmoKqjgSZqAEnrik+Xc5WoLD2FEuqrMZ006U19tYIQ6wJOL7WHw==","signatures":[{"sig":"MEQCIBqRWqxubTCwCqA5DzhP43pIT4wZiwh9h/Th44YucdCjAiAq91Eavy0ihO6WBUq9ahVpWDnF22NiqI0vD6DFpUK7/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anyknown%2fui@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":338711},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tokens.css":"./dist/tokens.css","./scrollbar.css":"./dist/scrollbar.css","./themes.stylex":{"types":"./dist/themes.stylex.d.ts","default":"./dist/themes.stylex.js"},"./tokens.stylex":{"types":"./dist/tokens.stylex.d.ts","default":"./dist/tokens.stylex.js"}},"gitHead":"bba31c030e11668d9afe9a32e39a9a8df08ef1e8","scripts":{"fmt":"oxfmt","lint":"oxlint src","site":"vite --config site/vite.config.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && node scripts/esm-extensions.mjs && cp src/tokens.css src/scrollbar.css dist/","check":"turbo run typecheck lint fmt:check","fmt:check":"oxfmt --check","site:test":"vitest run --config site/smoke.config.ts","typecheck":"tsc --noEmit","gen:themes":"node -e \"import('./scripts/themes.mjs').then(async m => (await import('node:fs')).writeFileSync('src/themes.stylex.ts', m.generate()))\" && oxfmt src/themes.stylex.ts","playground":"vite --config playground/vite.config.ts","site:build":"pnpm build && vite build --config site/vite.config.ts && node scripts/llms-txt.mjs","site:deploy":"pnpm site:build && npx wrangler deploy --config site/wrangler.jsonc","verify:pack":"pnpm build && node scripts/verify-pack.mjs","prepublishOnly":"pnpm check && pnpm test && pnpm verify:pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc128797-4156-45d9-9650-e9f7c3722c68"}},"repository":{"url":"git+https://github.com/anyknown-com/ui.git","type":"git"},"_npmVersion":"12.0.2","description":"AnyKnown design system — StyleX tokens, themes, and 34 components","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"diff":"^9.0.0","@base-ui/react":"^1.7.0","@stylexjs/stylex":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","oxfmt":"^0.65.0","turbo":"^2.10.9","marked":"^18.0.11","oxlint":"^1.80.0","vitest":"^4.1.11","postcss":"^8.5.26","react-dom":"^19.2.8","typescript":"^5.9.0","@babel/core":"^8.0.1","@types/node":"^26.4.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","@types/react-dom":"^19.2.5","@types/babel__core":"^7.20.5","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@stylexjs/babel-plugin":"0.19.0","@testing-library/react":"^16.3.3","@stylexjs/postcss-plugin":"0.19.0","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.3.0_1788062934984_0.9616791838019263","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@anyknown/ui","version":"0.4.0","license":"MIT","_id":"@anyknown/ui@0.4.0","maintainers":[{"name":"anyknown-admin","email":"admin@anyknown.com"}],"homepage":"https://ui.anyknown.com","bugs":{"url":"https://github.com/anyknown-com/ui/issues"},"dist":{"shasum":"ddcb643504e6da3f06f4c96b013319afc81c82e7","tarball":"https://registry.npmjs.org/@anyknown/ui/-/ui-0.4.0.tgz","fileCount":119,"integrity":"sha512-Tcsbu7HNeUBxe3Iv+n5vNMAh5Lfeqb6+9HbSAUEM2G0VFLiXWa4tW8HC9afQ8f0NnVdSTrtFiCBOOAjdsHUlyQ==","signatures":[{"sig":"MEQCIGXiuAoDoKNOanIakPvJEqbSoC39oJivfdR00a0nRoU1AiAh0CtpW+bjaCAlXMEv9gs6ecWPi/L5FzjB8O087YcSJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anyknown%2fui@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":339904},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tokens.css":"./dist/tokens.css","./scrollbar.css":"./dist/scrollbar.css","./themes.stylex":{"types":"./dist/themes.stylex.d.ts","default":"./dist/themes.stylex.js"},"./tokens.stylex":{"types":"./dist/tokens.stylex.d.ts","default":"./dist/tokens.stylex.js"}},"gitHead":"598842cd9dda9af2699d00f80a88e8207a79a24d","scripts":{"fmt":"oxfmt","lint":"oxlint src","site":"vite --config site/vite.config.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && node scripts/esm-extensions.mjs && cp src/tokens.css src/scrollbar.css dist/","check":"turbo run typecheck lint fmt:check","fmt:check":"oxfmt --check","site:test":"vitest run --config site/smoke.config.ts","typecheck":"tsc --noEmit","gen:themes":"node -e \"import('./scripts/themes.mjs').then(async m => (await import('node:fs')).writeFileSync('src/themes.stylex.ts', m.generate()))\" && oxfmt src/themes.stylex.ts","playground":"vite --config playground/vite.config.ts","site:build":"pnpm build && vite build --config site/vite.config.ts && node scripts/llms-txt.mjs","site:deploy":"pnpm site:build && npx wrangler deploy --config site/wrangler.jsonc","verify:pack":"pnpm build && node scripts/verify-pack.mjs","prepublishOnly":"pnpm check && pnpm test && pnpm verify:pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc128797-4156-45d9-9650-e9f7c3722c68"}},"repository":{"url":"git+https://github.com/anyknown-com/ui.git","type":"git"},"_npmVersion":"12.0.2","description":"AnyKnown design system — StyleX tokens, themes, and 34 components","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"diff":"^9.0.0","@base-ui/react":"^1.7.0","@stylexjs/stylex":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","oxfmt":"^0.65.0","turbo":"^2.10.9","marked":"^18.0.11","oxlint":"^1.80.0","vitest":"^4.1.11","postcss":"^8.5.26","react-dom":"^19.2.8","typescript":"^5.9.0","@babel/core":"^8.0.1","@types/node":"^26.4.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","@types/react-dom":"^19.2.5","@types/babel__core":"^7.20.5","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@stylexjs/babel-plugin":"0.19.0","@testing-library/react":"^16.3.3","@stylexjs/postcss-plugin":"0.19.0","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.4.0_1788063850226_0.45989332754471457","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@anyknown/ui","version":"0.4.1","license":"MIT","_id":"@anyknown/ui@0.4.1","maintainers":[{"name":"anyknown-admin","email":"admin@anyknown.com"}],"homepage":"https://ui.anyknown.com","bugs":{"url":"https://github.com/anyknown-com/ui/issues"},"dist":{"shasum":"e39bab8e65fc5360079dcd72f73a420102d431a2","tarball":"https://registry.npmjs.org/@anyknown/ui/-/ui-0.4.1.tgz","fileCount":119,"integrity":"sha512-qE5e9YL3P+jFMuDD6+1V1k7zqBvPaemzNeT4xToq+027DkadTzcRYoGwr0GQbZWW5gUWwgcfFIAshhfNdrstOw==","signatures":[{"sig":"MEUCIBT/q9NVWZ65Z+oTQWL7V06G/hWFWQkVBAZDyYigjbEvAiEAtIdDwX59DnhoD0GvXLMYZb1ntpIo29jOQfWoR3B2Nhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anyknown%2fui@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":342433},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tokens.css":"./dist/tokens.css","./scrollbar.css":"./dist/scrollbar.css","./themes.stylex":{"types":"./dist/themes.stylex.d.ts","default":"./dist/themes.stylex.js"},"./tokens.stylex":{"types":"./dist/tokens.stylex.d.ts","default":"./dist/tokens.stylex.js"}},"gitHead":"1889fc73390111b407d1378214a9099334f9b243","scripts":{"fmt":"oxfmt","lint":"oxlint src","site":"vite --config site/vite.config.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && node scripts/esm-extensions.mjs && cp src/tokens.css src/scrollbar.css dist/","check":"turbo run typecheck lint fmt:check","fmt:check":"oxfmt --check","site:test":"vitest run --config site/smoke.config.ts","typecheck":"tsc --noEmit","gen:themes":"node -e \"import('./scripts/themes.mjs').then(async m => (await import('node:fs')).writeFileSync('src/themes.stylex.ts', m.generate()))\" && oxfmt src/themes.stylex.ts","playground":"vite --config playground/vite.config.ts","site:build":"pnpm build && vite build --config site/vite.config.ts && node scripts/llms-txt.mjs","site:deploy":"pnpm site:build && npx wrangler deploy --config site/wrangler.jsonc","verify:pack":"pnpm build && node scripts/verify-pack.mjs","prepublishOnly":"pnpm check && pnpm test && pnpm verify:pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc128797-4156-45d9-9650-e9f7c3722c68"}},"repository":{"url":"git+https://github.com/anyknown-com/ui.git","type":"git"},"_npmVersion":"12.0.2","description":"AnyKnown design system — StyleX tokens, themes, and 34 components","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"diff":"^9.0.0","@base-ui/react":"^1.7.0","@stylexjs/stylex":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","oxfmt":"^0.65.0","turbo":"^2.10.9","marked":"^18.0.11","oxlint":"^1.80.0","vitest":"^4.1.11","postcss":"^8.5.26","react-dom":"^19.2.8","typescript":"^5.9.0","@babel/core":"^8.0.1","@types/node":"^26.4.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","@types/react-dom":"^19.2.5","@types/babel__core":"^7.20.5","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@stylexjs/babel-plugin":"0.19.0","@testing-library/react":"^16.3.3","@stylexjs/postcss-plugin":"0.19.0","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.4.1_1788152362732_0.34319336528783007","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@anyknown/ui","version":"0.4.2","license":"MIT","_id":"@anyknown/ui@0.4.2","maintainers":[{"name":"anyknown-admin","email":"admin@anyknown.com"}],"homepage":"https://ui.anyknown.com","bugs":{"url":"https://github.com/anyknown-com/ui/issues"},"dist":{"shasum":"a0bc6a7c67d72dccfdc7a7063f2f83bb842cda9a","tarball":"https://registry.npmjs.org/@anyknown/ui/-/ui-0.4.2.tgz","fileCount":119,"integrity":"sha512-ovXeNxgKY0o26DhdgJDFiOtGvrVY82++xv7P5+cCWZx0jFJg3HtNbYHJTYucNz2u4Rvi9spDrVbG7ZSct/pfAg==","signatures":[{"sig":"MEUCIQDTe9167Ku9t/NjFj5JwMVhd42z1UFd/JT9lkgEY1KD2wIgK4PcJPSuhw8VG0JGlzXW08gLRqr/tLXyzjbakhwJvdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anyknown%2fui@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":342660},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tokens.css":"./dist/tokens.css","./scrollbar.css":"./dist/scrollbar.css","./themes.stylex":{"types":"./dist/themes.stylex.d.ts","default":"./dist/themes.stylex.js"},"./tokens.stylex":{"types":"./dist/tokens.stylex.d.ts","default":"./dist/tokens.stylex.js"}},"gitHead":"e0ff18a64baebc27859bdceba182ae3f3bfa886b","scripts":{"fmt":"oxfmt","lint":"oxlint src","site":"vite --config site/vite.config.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && node scripts/esm-extensions.mjs && cp src/tokens.css src/scrollbar.css dist/","check":"turbo run typecheck lint fmt:check","fmt:check":"oxfmt --check","site:test":"vitest run --config site/smoke.config.ts","typecheck":"tsc --noEmit","gen:themes":"node -e \"import('./scripts/themes.mjs').then(async m => (await import('node:fs')).writeFileSync('src/themes.stylex.ts', m.generate()))\" && oxfmt src/themes.stylex.ts","playground":"vite --config playground/vite.config.ts","site:build":"pnpm build && vite build --config site/vite.config.ts && node scripts/llms-txt.mjs","site:deploy":"pnpm site:build && npx wrangler deploy --config site/wrangler.jsonc","verify:pack":"pnpm build && node scripts/verify-pack.mjs","prepublishOnly":"pnpm check && pnpm test && pnpm verify:pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc128797-4156-45d9-9650-e9f7c3722c68"}},"repository":{"url":"git+https://github.com/anyknown-com/ui.git","type":"git"},"_npmVersion":"12.0.2","description":"AnyKnown design system — StyleX tokens, themes, and 34 components","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"diff":"^9.0.0","@base-ui/react":"^1.7.0","@stylexjs/stylex":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","oxfmt":"^0.65.0","turbo":"^2.10.9","marked":"^18.0.11","oxlint":"^1.80.0","vitest":"^4.1.11","postcss":"^8.5.26","react-dom":"^19.2.8","typescript":"^5.9.0","@babel/core":"^8.0.1","@types/node":"^26.4.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","@types/react-dom":"^19.2.5","@types/babel__core":"^7.20.5","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@stylexjs/babel-plugin":"0.19.0","@testing-library/react":"^16.3.3","@stylexjs/postcss-plugin":"0.19.0","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.4.2_1788220863051_0.4363677181616994","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@anyknown/ui","version":"0.5.0","license":"MIT","_id":"@anyknown/ui@0.5.0","maintainers":[{"name":"anyknown-admin","email":"admin@anyknown.com"}],"homepage":"https://ui.anyknown.com","bugs":{"url":"https://github.com/anyknown-com/ui/issues"},"dist":{"shasum":"004fca016d7705e32c2186bafbdfdd5921748147","tarball":"https://registry.npmjs.org/@anyknown/ui/-/ui-0.5.0.tgz","fileCount":125,"integrity":"sha512-f8Uff/bGn/C9sOPHQf6Qv5xIIn3rMybZaVtHfSxVtppjvB4xKUoGBXap0XcKGyPZhn0FZ4lJCaJUMYZ73jPqgg==","signatures":[{"sig":"MEUCIQCgLj368iipBaAjFh3kKlegWaEd9Qb/XwccUNnCv7G62wIgJaQNCUlK2bQtaLc9hv8rwXVdbo4Muyu18eN1X9Q6Kz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anyknown%2fui@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":364501},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tokens.css":"./dist/tokens.css","./scrollbar.css":"./dist/scrollbar.css","./themes.stylex":{"types":"./dist/themes.stylex.d.ts","default":"./dist/themes.stylex.js"},"./tokens.stylex":{"types":"./dist/tokens.stylex.d.ts","default":"./dist/tokens.stylex.js"}},"gitHead":"f183570541a385dc97b2856091ee43f97eb5f822","scripts":{"fmt":"oxfmt","lint":"oxlint src","site":"vite --config site/vite.config.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && node scripts/esm-extensions.mjs && cp src/tokens.css src/scrollbar.css dist/","check":"turbo run typecheck lint fmt:check","fmt:check":"oxfmt --check","site:test":"vitest run --config site/smoke.config.ts","typecheck":"tsc --noEmit","gen:themes":"node -e \"import('./scripts/themes.mjs').then(async m => (await import('node:fs')).writeFileSync('src/themes.stylex.ts', m.generate()))\" && oxfmt src/themes.stylex.ts","playground":"vite --config playground/vite.config.ts","site:build":"pnpm build && vite build --config site/vite.config.ts && node scripts/llms-txt.mjs","site:deploy":"pnpm site:build && npx wrangler deploy --config site/wrangler.jsonc","verify:pack":"pnpm build && node scripts/verify-pack.mjs","prepublishOnly":"pnpm check && pnpm test && pnpm verify:pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc128797-4156-45d9-9650-e9f7c3722c68"}},"repository":{"url":"git+https://github.com/anyknown-com/ui.git","type":"git"},"_npmVersion":"12.0.2","description":"AnyKnown design system — StyleX tokens, themes, and 36 components","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"diff":"^9.0.0","temml":"^0.13.5","marked":"^18.0.11","@base-ui/react":"^1.7.0","@stylexjs/stylex":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","oxfmt":"^0.65.0","turbo":"^2.10.9","oxlint":"^1.80.0","vitest":"^4.1.11","postcss":"^8.5.26","react-dom":"^19.2.8","typescript":"^5.9.0","@babel/core":"^8.0.1","@types/node":"^26.4.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","@types/react-dom":"^19.2.5","@types/babel__core":"^7.20.5","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@stylexjs/babel-plugin":"0.19.0","@testing-library/react":"^16.3.3","@stylexjs/postcss-plugin":"0.19.0","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.5.0_1788290367604_0.545714532123827","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@anyknown/ui","version":"0.6.0","license":"MIT","_id":"@anyknown/ui@0.6.0","maintainers":[{"name":"anyknown-admin","email":"admin@anyknown.com"}],"homepage":"https://ui.anyknown.com","bugs":{"url":"https://github.com/anyknown-com/ui/issues"},"dist":{"shasum":"be502445659085c9a34e0feba0d3ba3699e3a559","tarball":"https://registry.npmjs.org/@anyknown/ui/-/ui-0.6.0.tgz","fileCount":126,"integrity":"sha512-EAsKrArFHm+rOYhtXuJHz90ksySp+oUriLJxL80My0cGevDhoTK3O/3wOysbFT2z9s42SPmfuMCUlctX8ZlboA==","signatures":[{"sig":"MEUCIQDjyRaO+3+5jLDatj42lj1l+kLXd7XZToJT3f2eyoI8fgIgHxlmPpgrxI8yUR/1lyf6FmOy4XzfO1Az0yPH6t3P9CI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anyknown%2fui@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":454686},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./brand.css":"./dist/brand.css","./tokens.css":"./dist/tokens.css","./scrollbar.css":"./dist/scrollbar.css","./themes.stylex":{"types":"./dist/themes.stylex.d.ts","default":"./dist/themes.stylex.js"},"./tokens.stylex":{"types":"./dist/tokens.stylex.d.ts","default":"./dist/tokens.stylex.js"}},"gitHead":"b007acfada9d42579e5fe7940a2b8ce3ad8732e2","scripts":{"fmt":"oxfmt","lint":"oxlint src","site":"vite --config site/vite.config.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && node scripts/esm-extensions.mjs && cp src/tokens.css src/scrollbar.css dist/ && node scripts/brand-css.mjs","check":"turbo run typecheck lint fmt:check design:check","fmt:check":"oxfmt --check","site:test":"vitest run --config site/smoke.config.ts","typecheck":"tsc --noEmit","gen:themes":"node -e \"import('./scripts/themes.mjs').then(async m => (await import('node:fs')).writeFileSync('src/themes.stylex.ts', m.generate()))\" && oxfmt src/themes.stylex.ts","playground":"vite --config playground/vite.config.ts","site:build":"pnpm build && vite build --config site/vite.config.ts && node scripts/llms-txt.mjs","design:lint":"node scripts/design-lint.mjs","site:deploy":"pnpm site:build && npx wrangler deploy --config site/wrangler.jsonc","verify:pack":"pnpm build && node scripts/verify-pack.mjs","design:check":"node scripts/design-check.mjs","prepublishOnly":"pnpm check && pnpm test && pnpm verify:pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc128797-4156-45d9-9650-e9f7c3722c68"}},"repository":{"url":"git+https://github.com/anyknown-com/ui.git","type":"git"},"_npmVersion":"12.0.2","description":"AnyKnown design system — StyleX tokens, themes, and 36 components","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"diff":"^9.0.0","temml":"^0.13.5","marked":"^18.0.11","@base-ui/react":"^1.7.0","@stylexjs/stylex":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","oxfmt":"^0.65.0","turbo":"^2.10.9","oxlint":"^1.80.0","vitest":"^4.1.11","postcss":"^8.5.26","react-dom":"^19.2.8","typescript":"^5.9.0","@babel/core":"^8.0.1","@types/node":"^26.4.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","@types/react-dom":"^19.2.5","@types/babel__core":"^7.20.5","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@stylexjs/babel-plugin":"0.19.0","@testing-library/react":"^16.3.3","@stylexjs/postcss-plugin":"0.19.0","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.6.0_1788292465398_0.5432125622809716","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@anyknown/ui","version":"0.6.1","license":"MIT","_id":"@anyknown/ui@0.6.1","maintainers":[{"name":"anyknown-admin","email":"admin@anyknown.com"}],"homepage":"https://ui.anyknown.com","bugs":{"url":"https://github.com/anyknown-com/ui/issues"},"dist":{"shasum":"43193f635e7b481bb6c07f2230b477783f4ac5be","tarball":"https://registry.npmjs.org/@anyknown/ui/-/ui-0.6.1.tgz","fileCount":126,"integrity":"sha512-1L/EATvS0WbRucaNHPR4Afer6RZLRh03+DgPd4yfyDF03RhRfuP8ZPlnuWlfG4pJcpDLUF169HTT8J27BUVNbg==","signatures":[{"sig":"MEYCIQCY3hGkf4JXTPebp6ImQ0uhTe5/DI5c8K1ltk1ahz8yKQIhANm7JZjUSc60vgAL9zQt4LNIltYoQ0JbSQOfblhDUa3Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anyknown%2fui@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":454885},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./brand.css":"./dist/brand.css","./tokens.css":"./dist/tokens.css","./scrollbar.css":"./dist/scrollbar.css","./themes.stylex":{"types":"./dist/themes.stylex.d.ts","default":"./dist/themes.stylex.js"},"./tokens.stylex":{"types":"./dist/tokens.stylex.d.ts","default":"./dist/tokens.stylex.js"}},"gitHead":"f2bba1a3ea2ec0ad73a01425fbfa9df0eb51f542","scripts":{"fmt":"oxfmt","lint":"oxlint src","site":"vite --config site/vite.config.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && node scripts/esm-extensions.mjs && cp src/tokens.css src/scrollbar.css dist/ && node scripts/brand-css.mjs","check":"turbo run typecheck lint fmt:check design:check","fmt:check":"oxfmt --check","site:test":"vitest run --config site/smoke.config.ts","typecheck":"tsc --noEmit","gen:themes":"node -e \"import('./scripts/themes.mjs').then(async m => (await import('node:fs')).writeFileSync('src/themes.stylex.ts', m.generate()))\" && oxfmt src/themes.stylex.ts","playground":"vite --config playground/vite.config.ts","site:build":"pnpm build && vite build --config site/vite.config.ts && node scripts/llms-txt.mjs","design:lint":"node scripts/design-lint.mjs","site:deploy":"pnpm site:build && npx wrangler deploy --config site/wrangler.jsonc","verify:pack":"pnpm build && node scripts/verify-pack.mjs","design:check":"node scripts/design-check.mjs","prepublishOnly":"pnpm check && pnpm test && pnpm verify:pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc128797-4156-45d9-9650-e9f7c3722c68"}},"repository":{"url":"git+https://github.com/anyknown-com/ui.git","type":"git"},"_npmVersion":"12.0.2","description":"AnyKnown design system — StyleX tokens, themes, and 36 components","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"diff":"^9.0.0","temml":"^0.13.5","marked":"^18.0.11","@base-ui/react":"^1.7.0","@stylexjs/stylex":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","oxfmt":"^0.65.0","turbo":"^2.10.9","oxlint":"^1.80.0","vitest":"^4.1.11","postcss":"^8.5.26","react-dom":"^19.2.8","typescript":"^5.9.0","@babel/core":"^8.0.1","@types/node":"^26.4.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","@types/react-dom":"^19.2.5","@types/babel__core":"^7.20.5","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@stylexjs/babel-plugin":"0.19.0","@testing-library/react":"^16.3.3","@stylexjs/postcss-plugin":"0.19.0","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.6.1_1788300646961_0.5583978642590168","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"_id":"@anyknown/ui@0.7.0","bugs":{"url":"https://github.com/anyknown-com/ui/issues"},"dist":{"shasum":"a3160ab071b15eb9931b38eeb823a28b8fe52656","tarball":"https://registry.npmjs.org/@anyknown/ui/-/ui-0.7.0.tgz","fileCount":132,"integrity":"sha512-q6hg6rHHYQ4kDcfuY+8gESoGk2MymVHNoo9qjFhPTFiwZJarZjQxwZKise6VJGR/J0H4nneHNAl2twOPS9AfeQ==","signatures":[{"sig":"MEUCIQDxpynbxKnda78q3nqIiXtScc4hTwi9i5HeoE18ww5XQAIgLnUR0rGGOtGUm0c9q+tXHFhHue8jFbbo5sdTo7VVMRY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDFClWQzfDO4uNSMGODljHEBjG+tjfhaR4/Ruhiw/qo3wIhAKp12t39nWipgFyDP7hz142VpapBK+Q/+e3DWo6GQ64J"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anyknown%2fui@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":483023},"name":"@anyknown/ui","type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./brand.css":"./dist/brand.css","./tokens.css":"./dist/tokens.css","./scrollbar.css":"./dist/scrollbar.css","./themes.stylex":{"types":"./dist/themes.stylex.d.ts","default":"./dist/themes.stylex.js"},"./tokens.stylex":{"types":"./dist/tokens.stylex.d.ts","default":"./dist/tokens.stylex.js"}},"gitHead":"b8fd939a397696666f9b6a8497225ff8db72c5d2","license":"MIT","scripts":{"fmt":"oxfmt","lint":"oxlint src","site":"vite --config site/vite.config.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && node scripts/esm-extensions.mjs && cp src/tokens.css src/scrollbar.css dist/ && node scripts/brand-css.mjs","check":"turbo run typecheck lint fmt:check design:check","fmt:check":"oxfmt --check","site:test":"vitest run --config site/smoke.config.ts","typecheck":"tsc --noEmit","gen:themes":"node -e \"import('./scripts/themes.mjs').then(async m => (await import('node:fs')).writeFileSync('src/themes.stylex.ts', m.generate()))\" && oxfmt src/themes.stylex.ts","playground":"vite --config playground/vite.config.ts","site:build":"pnpm build && vite build --config site/vite.config.ts && node scripts/llms-txt.mjs","design:lint":"node scripts/design-lint.mjs","site:deploy":"pnpm site:build && npx wrangler deploy --config site/wrangler.jsonc","verify:pack":"pnpm build && node scripts/verify-pack.mjs","design:check":"node scripts/design-check.mjs","prepublishOnly":"pnpm check && pnpm test && pnpm verify:pack"},"version":"0.7.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc128797-4156-45d9-9650-e9f7c3722c68"}},"homepage":"https://ui.anyknown.com","repository":{"url":"git+https://github.com/anyknown-com/ui.git","type":"git"},"_npmVersion":"12.0.2","description":"AnyKnown design system — StyleX tokens, themes, and 38 components","directories":{},"maintainers":[{"name":"anyknown-admin","email":"admin@anyknown.com"}],"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"diff":"^9.0.0","temml":"^0.13.5","marked":"^18.0.11","@base-ui/react":"^1.7.0","@stylexjs/stylex":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"vite":"^8.2.2","jsdom":"^30.0.1","oxfmt":"^0.65.0","turbo":"^2.10.9","oxlint":"^1.80.0","vitest":"^4.1.11","postcss":"^8.5.26","react-dom":"^19.2.8","typescript":"^5.9.0","@babel/core":"^8.0.1","@types/node":"^26.4.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","@types/react-dom":"^19.2.5","@types/babel__core":"^7.20.5","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@stylexjs/babel-plugin":"0.19.0","@testing-library/react":"^16.3.3","@stylexjs/postcss-plugin":"0.19.0","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui_0.7.0_1789640618994_0.9639989752969507"}}},"time":{"created":"2026-08-29T13:38:44.699Z","modified":"2026-09-17T10:23:39.621Z","0.1.0":"2026-08-29T13:38:45.050Z","0.2.0":"2026-08-29T16:34:41.551Z","0.3.0":"2026-08-30T04:08:55.114Z","0.4.0":"2026-08-30T04:24:10.363Z","0.4.1":"2026-08-31T04:59:22.862Z","0.4.2":"2026-09-01T00:01:03.374Z","0.5.0":"2026-09-01T19:19:27.774Z","0.6.0":"2026-09-01T19:54:25.636Z","0.6.1":"2026-09-01T22:10:47.136Z","0.7.0":"2026-09-17T10:23:39.107Z"},"bugs":{"url":"https://github.com/anyknown-com/ui/issues"},"license":"MIT","homepage":"https://ui.anyknown.com","repository":{"url":"git+https://github.com/anyknown-com/ui.git","type":"git"},"description":"AnyKnown design system — StyleX tokens, themes, and 38 components","maintainers":[{"name":"anyknown-admin","email":"admin@anyknown.com"}],"readme":"# @anyknown/ui\n\nAnyKnown 全產品線共用的 design system,以 [StyleX](https://stylexjs.com) 實作。\n\n## 結構\n\n- `src/tokens.stylex.ts` — semantic tokens(color / font / text / space / radius / motion / shadow)。light 為預設,dark 跟隨 OS。**唯一真相**。\n- `src/tokens.css` — 同一組值的純 CSS variables(`--ak-*`),給非 StyleX 的使用端(desktop 的 Tailwind v4 `@theme` 直接引用)。import 路徑:`@anyknown/ui/tokens.css`。palette 掛在 `<html>` 的 `data-palette=\"neutral\"`,亮暗照樣跟系統,`data-theme` 才鎖。\n- `src/themes.stylex.ts` — `light` / `dark` theme,給有手動切換主題的 app:`<div {...stylex.props(...light)}>`。另一套 palette 是 `neutral`(冷灰;`neutral` 跟系統亮暗,`neutralLight` / `neutralDark` 鎖死),值在 `scripts/neutral.mjs`。**由 `pnpm gen:themes` 從 tokens 生成**,不要手改(`themes.test.ts` 會擋住不同步)。\n- `src/brand.css` — 給沒有 bundler 的一次性頁面(報告、提案、benchmark)的有界詞彙,二十來個 `ak-*` class。build 時內聯 tokens、接 Google Fonts、把按鈕織體預渲染成 SVG data URI(`scripts/brand-css.mjs`),出 `dist/brand.css` 與 <https://ui.anyknown.com/brand.css>。判斷寫在根目錄的 [DESIGN.md](./DESIGN.md),`pnpm check` 會擋文件與詞彙不同步。\n- `src/scrollbar.css` — 客製捲軸(全域套用)。StyleX 做不了 `::-webkit-scrollbar` 偽元素,所以獨立成 css 檔。\n- `src/components/` — 34 個元件,每個一個 folder(`<Name>.tsx` + `<Name>.test.tsx`)。清單與共同決策見 [components/README.md](./src/components/README.md),定案理由與走過的彎路見 [components/COMPONENTS.md](./src/components/COMPONENTS.md)。\n- `src/lib/` — 共用 hooks 與生成邏輯(reduced-motion、controllable state、clipboard、diff、`styled` 與 `reset.control`)。織體幾何在 `weave.ts`(靜態)與 `silk.ts`(動態),規格見 [components/TEXTURE-GUIDE.md](./src/components/TEXTURE-GUIDE.md)。\n- `playground/` — demo app,**不進發佈產物**。\n- `site/` — 文檔網站(全部示範 + 四份指南),部署到 Cloudflare Workers,**不進發佈產物**。\n\n## 開發\n\n```bash\npnpm test         # vitest(jsdom + testing-library)\npnpm check        # turbo run typecheck lint fmt:check(平行 + 快取)\npnpm build        # dist:ESM + d.ts + tokens.css + scrollbar.css\npnpm verify:pack  # build 後打包,從套件外部解析 exports map 每個入口\npnpm playground   # http://localhost:5199,用打包後的 dist 渲染全部元件\npnpm site         # http://localhost:5200,文檔網站(示範 + 指南)\npnpm site:test    # 文檔網站的 jsdom 冒煙測試\npnpm site:deploy  # build 後 deploy 到 https://ui.anyknown.com(需先 wrangler login)\n```\n\nplayground 與文檔站用同一組 section id,`#/demo/<name>` 直接跳到該元件。\n\n`check` / `test` / `build` 等都由 [turborepo](https://turborepo.dev) 驅動(single-package 模式,設定在 `turbo.json`),快取推到自架的 remote cache `https://turbo.anyknown.com`(team `anyknown-ui`)。要吃到遠端快取就 export token:\n\n```bash\nexport TURBO_TOKEN=<token>   # 見 turbo-cache-worker/GITHUB-SECRETS.md\n```\n\n沒設也不會壞,只是退回本機快取。`turbo.json` 裡 `build` / `lint` / `typecheck` / `test` 的 inputs 刻意排除了 `*.md`,所以改文件不會讓這些 task 重跑;`site:build` / `site:test` 用預設 inputs,因為文檔網站會讀那些 md。\n\n## 發佈\n\n發佈的是 ESM + d.ts,**StyleX 呼叫保留在產物中**,由使用端的 bundler compile(StyleX library 標準做法)。\n\n版本由 **git tag 決定**。推一個 `v*` tag 上去,`.github/workflows/release.yml` 跑完整條 gate 再 publish;tag 與 `package.json` 的 `version` 對不上會直接失敗,不會發出去。\n\n```bash\n# 1. 改 package.json 的 version(semver)\n# 2. commit + 打 tag + 推\ngit commit -am \"release: v0.2.0\"\ngit tag v0.2.0\ngit push origin main --tags\n```\n\nCI 跑的是 `typecheck / lint / fmt:check / test / site:test` → `verify:pack` → `npm publish`。前五項走 turbo remote cache,PR 上跑過的多半直接命中;`verify:pack` 不快取,它就是要每次重打一次 tarball、從套件外部解析 exports map。\n\npublish 走 **npm trusted publishing (OIDC)**,repo 裡不存任何 npm 憑證 —— trusted publisher 綁在 npmjs.com 的 `@anyknown/ui` → `anyknown-com/ui` / `release.yml`。CI 用的是 `npm publish` 而不是 `pnpm publish`,因為 pnpm 的 OIDC 支援還沒好([pnpm#9812](https://github.com/pnpm/pnpm/issues/9812))。\n\nv0.1.0 是本機手動發的:npm 的 trusted publisher 只能綁在**已存在的套件**上,第一版繞不掉。之後都走 tag。\n\nCI 驗不了的只剩視覺:發之前 `pnpm playground` 開一輪看視覺與動效沒跑掉,順手開 macOS 的「減少動態效果」再看一次。\n\n### 基礎設施現況\n\n| | |\n| --- | --- |\n| repo | <https://github.com/anyknown-com/ui>(public、MIT) |\n| npm | `@anyknown/ui`,trusted publisher 綁 `anyknown-com/ui` → `release.yml` |\n| 文檔站 | <https://ui.anyknown.com>(Cloudflare Workers) |\n| design.md | <https://ui.anyknown.com/design.md>,`DESIGN.md` 原文 + 生成的 token 表與 `brand.css` 詞彙表;`llms.txt` 第一條 |\n| brand.css | <https://ui.anyknown.com/brand.css>,外部 agent 做一次性頁面 `<link>` 這份就好;同時是套件的 `@anyknown/ui/brand.css` |\n| remote cache | `turbo.anyknown.com`,team `anyknown-ui`;token 在 repo secret `TURBO_TOKEN`,本機 `export TURBO_TOKEN=<token>`(worker 端的來源是 `anyknown-com/turbo-cache` 的 secret binding) |\n\n## 在各 app 使用(Vite)\n\n```bash\npnpm add @anyknown/ui @stylexjs/stylex\npnpm add -D @stylexjs/babel-plugin @stylexjs/postcss-plugin postcss\n```\n\nStyleX 需要兩層:babel 把 `stylex.create` 轉成 class name,postcss 產生 stylesheet。兩邊的 `unstable_moduleResolution.rootDir` 必須一致,`dist/**/*.js` 也要進 postcss 的 `include`,否則元件的樣式不會被收進去。\n\n```js\n// postcss.config.mjs\nimport stylexBabelPlugin from \"@stylexjs/babel-plugin\"\nimport stylexPostcss from \"@stylexjs/postcss-plugin\"\n\nexport default {\n\tplugins: [\n\t\tstylexPostcss({\n\t\t\tinclude: [\"src/**/*.tsx\", \"node_modules/@anyknown/ui/dist/**/*.js\"],\n\t\t\tbabelConfig: {\n\t\t\t\tbabelrc: false,\n\t\t\t\tconfigFile: false,\n\t\t\t\tparserOpts: { plugins: [\"typescript\", \"jsx\"] },\n\t\t\t\tplugins: [\n\t\t\t\t\t[stylexBabelPlugin, { unstable_moduleResolution: { type: \"commonJS\", rootDir: process.cwd() } }],\n\t\t\t\t],\n\t\t\t},\n\t\t}),\n\t],\n}\n```\n\napp 的 entry CSS 需含 StyleX 注入點(這個 postcss plugin 認的是**不帶參數**的 `@stylex;`):\n\n```css\n@stylex;\n@import \"@anyknown/ui/tokens.css\";\n@import \"@anyknown/ui/scrollbar.css\";\n```\n\n```tsx\nimport { Button, Card, Text } from \"@anyknown/ui\"\nimport { color, space } from \"@anyknown/ui/tokens.stylex\"\n```\n\napp 自己的樣式一律引用 tokens,不寫死色值。`playground/` 就是照這套設定跑的,可以當範本。\n\n## 視覺方向:Ledger\n\n暖紙面(#FAFAF6)、墨色文字、青碧色 accent(#23705A)。標題用 Newsreader,內文 Geist,時間軸/數據用 Geist Mono。使用端需安裝字體:\n\n```bash\npnpm add @fontsource-variable/newsreader @fontsource-variable/geist @fontsource-variable/geist-mono\n```\n\nTexture(線/織的品牌語言)只用在等待、過渡、儀式時刻與主要互動面,精確區不加花 —— 規格與適配指引見 [components/TEXTURE-GUIDE.md](./src/components/TEXTURE-GUIDE.md)。\n","readmeFilename":"README.md"}