{"_id":"@75neo/ui","_rev":"2-da78626dab61057bc889bdcd7ec6ee77","name":"@75neo/ui","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@75neo/ui","version":"1.0.0","keywords":["75neoui","react","registry","tailwindcss","vue"],"author":"Vo Quang Chien <2giosangmitom@gmail.com>","license":"MIT","_id":"@75neo/ui@1.0.0","maintainers":[{"name":"chienwarvo","email":"2giosangmitom@gmail.com"}],"contributors":["Vo Van Duy <nstcrystal@gmail.com>"],"homepage":"https://75neo-ui.pages.dev","bin":{"75neoui":"./dist/cli.mjs"},"dist":{"shasum":"3d5527414a4cbe7679d8d2d9956bd3b721c56284","tarball":"https://registry.npmjs.org/@75neo/ui/-/ui-1.0.0.tgz","fileCount":9,"integrity":"sha512-JI6vrKZivimUL3D2dZwx2pcV9AWLUttsiUKRJil8mvCxQs50H7VOaeEg4DNDL+A61ouYFV4Il9j1Ljk07q5JSw==","signatures":[{"sig":"MEUCIQDNhRWZ9x/byg/49jbs5xNFPjv0bwo0gUBAxMFgw316BAIgAMbyOLLT0wcDFq1WJxaelhPeqfjuPJcfKsXPYP8V08w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35549},"type":"module","types":"./dist/index.d.mts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./package.json":"./package.json","./animations.css":"./animations.css"},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","typecheck":"tsc -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"chienwarvo","email":"2giosangmitom@gmail.com"},"repository":{"url":"git+https://github.com/75Neo/ui.git","type":"git","directory":"packages/ui"},"description":"The 75NeoUI installer and animation stylesheet","directories":{},"dependencies":{"zod":"^4.5.4","yargs":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","typescript":"~6.0.3","@types/node":"^26.4.1","@types/yargs":"^17.0.35"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.0_1788942547141_0.5519052038707557","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"_id":"@75neo/ui@1.0.1","bin":{"75neoui":"dist/cli.mjs"},"bugs":{"url":"https://github.com/75Neo/ui/issues"},"dist":{"shasum":"2918843994e6f7f6e2e832da1088a2926d70acc7","tarball":"https://registry.npmjs.org/@75neo/ui/-/ui-1.0.1.tgz","fileCount":8,"integrity":"sha512-/ogHG9atm3ObBO25ippq9yjuEJhOA7x/IXGakO3BV8muOjyILKApS80tWkLqGXX3Z86EbG7TjAnAgAgbaejctg==","signatures":[{"sig":"MEQCIEEms8pumudSjY2FYrCYANeViH9XA4pgjNASNUbFsA2FAiA6EF826bnGRRsXgbz+ZX1AYfZLk4Nc4fXkKA+BpPWfng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGO2ZUb/0+I9kbaAO/owqs+hEoCFs9Y1jF6jhvIVd1yWAiEAtqNdiHZJ5bRRpAsUbz6rg6UhSSYeH7BJOByhCyzL+p0="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@75neo%2fui@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34784},"name":"@75neo/ui","type":"module","types":"./dist/index.d.mts","author":{"name":"Vo Quang Chien","email":"2giosangmitom@gmail.com"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./package.json":"./package.json","./animations.css":"./animations.css"},"gitHead":"2bd7930ba2b1ccc80aaf74cb97e177e54c267f59","license":"MIT","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","prepack":"tsdown","typecheck":"tsc -p tsconfig.test.json","test:watch":"vitest"},"version":"1.0.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a864657-610d-4b0d-81a5-cc5de665e958"}},"homepage":"https://75neo-ui.pages.dev","keywords":["75neoui","react","registry","tailwindcss","vue"],"repository":{"url":"git+https://github.com/75Neo/ui.git","type":"git","directory":"packages/ui"},"_npmVersion":"11.19.0","description":"The 75NeoUI installer and animation stylesheet","directories":{},"maintainers":[{"name":"chienwarvo","email":"2giosangmitom@gmail.com"}],"_nodeVersion":"24.20.0","contributors":[{"name":"Vo Van Duy","email":"nstcrystal@gmail.com"}],"dependencies":{"zod":"^4.5.4","yargs":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.23.0","vitest":"^5.0.0","typescript":"~6.0.3","@types/node":"^26.4.1","@types/yargs":"^17.0.35"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui_1.0.1_1788944454398_0.10859866750354019"}}},"time":{"created":"2026-09-09T08:29:06.962Z","modified":"2026-09-09T09:00:55.247Z","1.0.0":"2026-09-09T08:29:07.274Z","1.0.1":"2026-09-09T09:00:54.484Z"},"author":{"name":"Vo Quang Chien","email":"2giosangmitom@gmail.com"},"license":"MIT","homepage":"https://75neo-ui.pages.dev","keywords":["75neoui","react","registry","tailwindcss","vue"],"repository":{"url":"git+https://github.com/75Neo/ui.git","type":"git","directory":"packages/ui"},"description":"The 75NeoUI installer and animation stylesheet","contributors":[{"name":"Vo Van Duy","email":"nstcrystal@gmail.com"}],"maintainers":[{"name":"chienwarvo","email":"2giosangmitom@gmail.com"}],"readme":"# @75neo/ui\n\nThe installer and animation stylesheet for [75NeoUI](https://75neo-ui.pages.dev), a component\nlibrary for React and Vue.\n\n## Install\n\n```sh\nnpx @75neo/ui@latest init\nnpx @75neo/ui@latest add button\n```\n\n`init` detects whether the project is React or Vue, writes a `75neoui.json`, and adds the theme\ntokens and this package's animation stylesheet to your Tailwind entry file. `add` writes component\nsource into your project and installs the npm packages it declares.\n\n## Commands\n\n| Command         | What it does                                          |\n| --------------- | ----------------------------------------------------- |\n| `init`          | Set the project up and write `75neoui.json`           |\n| `add <items..>` | Add components, resolving their registry dependencies |\n| `add --all`     | Add every component                                   |\n| `list`          | List the components in the registry                   |\n\nEvery command takes `--cwd` and `--registry`. `init` also takes `--framework`, `--css` and\n`--overwrite`; `add` takes `--all` and `--overwrite`. Pass `--no-install` to skip npm installs.\n\n## Programmatic API\n\nThe package is written in TypeScript and ships type declarations. Every command is also available\nas a function, so a script can drive the installer directly.\n\n```ts\nimport { readConfig, resolveItems, writeFiles } from \"@75neo/ui\";\n\nconst config = await readConfig(process.cwd());\nconst items = await resolveItems(config.registry, config.framework, [\"button\"]);\nconst { written, skipped } = await writeFiles(items, config, {\n  cwd: process.cwd(),\n  overwrite: false,\n});\n```\n\nRegistry responses and `75neoui.json` are validated against the package's own zod schemas rather\nthan cast, so a malformed document fails with a message naming the field instead of surfacing\nlater as a crash. The schemas are exported too, and `jsonSchemas()` renders them as JSON Schema.\n\n```ts\nimport { registryItemSchema, validate } from \"@75neo/ui\";\n\nconst item = validate(registryItemSchema, \"button.json\", await response.json());\n```\n\n## Stylesheet\n\n```css\n@import \"tailwindcss\";\n@import \"@75neo/ui/animations.css\";\n```\n\nThe stylesheet carries the keyframes and `--animate-*` entries that overlay components use. Design\ntokens are not here on purpose: `init` writes those into your own stylesheet so you can override\nthem.\n\n## Releasing\n\nThe first publish of a new package must be manual, because npm only lets a trusted publisher be\nconfigured on a package that already exists.\n\n```sh\ncd packages/ui\npnpm publish --access public --no-git-checks\n```\n\nAfter that, configure trusted publishing once, either on the package's access page at npmjs.com or\nwith the npm CLI:\n\n```sh\nnpm trust github @75neo/ui --repo 75Neo/ui --file release.yml --allow-publish\n```\n\nFrom then on, publishing a GitHub release named `v<version>` runs `.github/workflows/release.yml`,\nwhich authenticates over OIDC with no token stored anywhere. The workflow refuses to run when the\nrelease tag and the package version disagree.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/75Neo/ui/issues"}}