React (Next.js, Vite, Remix)
Install the package. It needs React 19.
Install the package. It needs React 19.
pnpm add @fadymondy/nasaqAdd the styles to your Tailwind v4 entry CSS. The @source line lets Tailwind see the classes the components use; its path is relative to the CSS file.
@import "tailwindcss";
@import "@fadymondy/nasaq/tokens.css";
@import "@fadymondy/nasaq/theme.css";
@import "@fadymondy/nasaq/web/styles.css";
@source "../node_modules/@fadymondy/nasaq/dist/web";Wrap the app in the provider. It sets the brand, theme, locale, direction and currency (USD, or SAR in Arabic).
import { Button, NasaqProvider } from "@fadymondy/nasaq/web";
export function App() {
return (
<NasaqProvider brand="nasaq">
<Button>Save changes</Button>
</NasaqProvider>
);
}No Tailwind in the project? Import the precompiled @fadymondy/nasaq/nasaq.css instead of the four CSS lines. Fonts and the no-flash theme script are in Project setup.
Get started
Nasaq is one design system for every stack. React, Vue, Blade and plain HTML all render the same markup with the same Tailwind classes, so a button, a dialog or a data table looks and behaves the same
shadcn
Use this when you want each component's source in your project. You need React 19, Tailwind v4 and a components.json (npx shadcn@latest init).