{"_id":"@aayushsoam/ui","name":"@aayushsoam/ui","dist-tags":{"latest":"0.16.0"},"versions":{"0.16.0":{"name":"@aayushsoam/ui","version":"0.16.0","type":"module","license":"MIT","sideEffects":["**/*.css"],"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ui/*":{"types":"./dist/ui/*.d.ts","import":"./dist/ui/*.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./utils/*":{"types":"./dist/utils/*.d.ts","import":"./dist/utils/*.js"},"./hooks/*":{"types":"./dist/hooks/*.d.ts","import":"./dist/hooks/*.js"},"./fonts/*":"./dist/fonts/*","./assets/*":"./dist/assets/*","./styles/fonts.css":"./dist/ui/fonts.css","./styles/globals.css":"./dist/ui/globals.css"},"scripts":{"dev":"storybook dev -p 6006","build":"unbuild","build:watch":"unbuild --watch","build-storybook":"storybook build -o storybook-static","test":"pnpm type-check","test-storybook":"vitest --project=storybook","type-check":"tsc -p tsconfig.build.json --noEmit"},"dependencies":{"@nanostores/react":"^1.1.0","@radix-ui/react-checkbox":"^1.3.3","class-variance-authority":"^0.7.1","clsx":"^2.1.1","nanostores":"^1.3.0","sanitize-html":"^2.17.4","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","unicode-animations":"^1.0.3"},"devDependencies":{"@observablehq/plot":"^0.6.17","@react-three/fiber":"^9.6.1","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@storybook/react-vite":"^10.4.0","@tailwindcss/cli":"^4.3.0","@tailwindcss/vite":"^4.3.0","@types/node":"25.8.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@types/sanitize-html":"^2.16.1","@types/three":"^0.184.1","@vitejs/plugin-react":"^6.0.2","@vitest/browser-playwright":"^4.1.6","glob":"^13.0.6","gsap":"^3.15.0","leva":"^0.10.1","mockdate":"^3.0.5","motion":"^12.38.0","msw":"^2.14.6","msw-storybook-addon":"^2.0.7","playwright":"^1.60.0","storybook":"^10.4.0","tailwindcss":"^4.3.0","three":"^0.184.0","typescript":"^6.0.3","unbuild":"^3.6.1","vite":"^8.0.13","vite-plugin-static-copy":"^4.1.0","vitest":"^4.1.6"},"peerDependencies":{"@observablehq/plot":"^0.6.17","@react-three/fiber":"^9.4.0","gsap":"^3.13.0","leva":"^0.10.1","motion":"^12.38.0","react":"^19.0.0","react-dom":"^19.0.0","three":"^0.180.0"},"peerDependenciesMeta":{"three":{"optional":true},"@react-three/fiber":{"optional":true},"@observablehq/plot":{"optional":true},"leva":{"optional":true},"gsap":{"optional":true}},"msw":{"workerDirectory":["public"]},"description":"The shared design system for react ui @ aayush soam. components, hooks, utils, fonts, overlays, etc.","_id":"@aayushsoam/ui@0.16.0","_nodeVersion":"24.3.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-13NgpMa1cjnaGUvIyj0/lGwS7WUKvGQZFJUgC4jz3HLpCOhnadYm8aURBxRp/dEQ1iOcpURnoNVEFYNNqgo98A==","shasum":"e07d3edb1a494558d000534bfcf4848803e7c37f","tarball":"https://registry.npmjs.org/@aayushsoam/ui/-/ui-0.16.0.tgz","fileCount":316,"unpackedSize":4562508,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDWM+7Y/Fub0YqbwLcHU6mOHpbKf0gGY5RQHA9sOmZo/QIhAMdl0FE+obPbhRp4xo2MfoXCVRMjdIJ0fy84hYPss0KA"}]},"_npmUser":{"name":"aayushsoam","email":"thakurrajeevsoam@gmail.com"},"directories":{},"maintainers":[{"name":"aayushsoam","email":"thakurrajeevsoam@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui_0.16.0_1779300282816_0.4126109421916331"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-20T18:04:42.690Z","0.16.0":"2026-05-20T18:04:43.080Z","modified":"2026-05-20T18:04:43.239Z"},"maintainers":[{"name":"aayushsoam","email":"thakurrajeevsoam@gmail.com"}],"description":"The shared design system for react ui @ aayush soam. components, hooks, utils, fonts, overlays, etc.","license":"MIT","readme":"# nous ui\n\nthe shared design system for react ui @ nous. components, hooks, utils, fonts, overlays, etc.\n\n## setup\n\n`npm i @nous-research/ui` or `pnpm i @nous-research/ui`\n\nimport the global styles in your app's root css file:\n\n```css\n@import 'tailwindcss';\n@import '@nous-research/ui/styles/globals.css';\n```\n\n`globals.css` includes the design-system tokens, utilities, component styles,\nand default `--font-*` variable values, but does not register font files.\nImport the optional font stylesheet first if your app wants CSS-managed\n`@font-face` declarations:\n\n```css\n@import 'tailwindcss';\n@import '@nous-research/ui/styles/fonts.css';\n@import '@nous-research/ui/styles/globals.css';\n```\n\nNext.js apps should prefer `next/font/local` with the exported\n`@nous-research/ui/fonts/*` files and map them to the same `--font-*`\nvariables. Apps can also provide their own `--font-*` variables while keeping\nthe design-system utilities from `globals.css`.\n\n## usage\n\neverything exports from the top level export:\n\n```tsx\nimport {\n  Button,\n  Grid\n  // whatever else!\n} from '@nous-research/ui'\n```\n\n## local development\n\ntwo ways to preview components while editing:\n\n### storybook (per-component, primary)\n\n```\npnpm storybook        # dev server on http://localhost:6006\npnpm build-storybook  # static build → ./storybook-static\n```\n\nstories live in `stories/*.stories.tsx`. the **Overview** story re-renders\nthe entire `/ds` page, so you always have a kitchen-sink view alongside the\nisolated component stories. the **Lens** toolbar above the preview cycles\nbetween the lens presets (`0`, `1`, `2`, `3`, `4`, `5`, `5i`, `6`).\n\n### next.js showcase (kitchen-sink, secondary)\n\n```\npnpm dev              # next dev on http://localhost:3000 → redirects to /ds\n```\n\n`app/ds/page.tsx` is the same content the Overview story renders.\n\n## publishing\n\n```\npnpm build     # tsc → dist/ + copies css / fonts / assets\n```\n\nreleases are published automatically when PRs merge to `main`. the github\nworkflow bumps the package version from the merged PR labels (`major`, `minor`,\nor `patch`), pushes the tag, publishes to npm via trusted publishing, and\ncreates a [GitHub Release](https://github.com/NousResearch/design-language/releases)\nwith notes from `CHANGELOG.md`.\n\nbefore merging:\n\n1. leave `package.json` at the **current published** version on `main` (CI bumps\n   it after merge).\n2. label the PR so the bump matches your changelog section:\n\n| PR label | bump from `0.15.0` | changelog heading |\n| --- | --- | --- |\n| `patch` (default) | `0.15.1` | `## 0.15.1` |\n| `minor` | `0.16.0` | `## 0.16.0` |\n| `major` | `1.0.0` | `## 1.0.0` |\n\n3. add that `## X.Y.Z` section to [`CHANGELOG.md`](./CHANGELOG.md) — release\n   notes are pulled from it for npm and GitHub Releases.\n\nthe same file is rendered in Storybook under **Docs → Changelog** and shipped in\nthe npm tarball.\n\nthe published tarball ships `dist/`, `src/`, `README.md`, and `CHANGELOG.md`\n(see `files` in `package.json`). inline source maps are embedded in `dist/` so\nconsumers can debug into the TypeScript source.\n\n## deployment\n\n`vercel.json` builds both and serves them on a single Next.js deployment:\n\n- `/` and `/ds` — the Next.js showcase (same as `pnpm dev`)\n- `/storybook` — the static Storybook build (copied to `public/storybook/`\n  before `next build` so Next serves it like any other static asset)\n\nWant Storybook-only? replace `buildCommand` with `pnpm build-storybook` and\nadd `\"outputDirectory\": \"storybook-static\"`. `app/ds` can stay for local\n`pnpm dev` either way — the Overview story renders the same content.\n","readmeFilename":"README.md","_rev":"1-8534a95a503e59b2b494a5a8d6cb7a8f"}