# React + Next.js Setup (v3) Legacy Tailwind CSS v3 guide for React and Next.js # Frontfriend v3 Integration Guide for React + Next.js This legacy guide walks you through integrating Frontfriend v3 with a React or Next.js project that uses Tailwind CSS v3. For new Tailwind CSS v4 projects, use the [Frontfriend v4 Getting Started guide](/docs/legacy/index/). ## Prerequisites - React project (Next.js, Vite, or Create React App) - Node.js >= 16 - Tailwind CSS v3 installed (or will be installed) ## Installation ### Step 1: Install Dependencies ```bash # Install Frontfriend Tailwind plugin npm install @frontfriend/tailwind@3 # Install Tailwind CSS v3 if not already installed npm install -D tailwindcss@3 postcss autoprefixer npx tailwindcss init -p ``` ### Step 2: Create Configuration Create `frontfriend.config.js` in your project root: ```js module.exports = { 'ff-id': 'your-frontfriend-id-here', // Replace with your actual FF ID 'aliases': { 'ui': '@/components/ui' // Where components will be downloaded } } ``` ### Step 3: Configure Tailwind Update `tailwind.config.js`: ```js /** @type {import('tailwindcss').Config} */ module.exports = { content: [ './src/**/*.{js,ts,jsx,tsx,mdx}', './app/**/*.{js,ts,jsx,tsx,mdx}', './pages/**/*.{js,ts,jsx,tsx,mdx}', './components/**/*.{js,ts,jsx,tsx,mdx}', ], plugins: [ require('@frontfriend/tailwind')() ], } ``` ### Step 4: Import Tailwind CSS For Next.js, in `app/globals.css` or `styles/globals.css`: ```css @tailwind base; @tailwind components; @tailwind utilities; ``` ### Step 5: Configure Next.js For Next.js projects, you need to wrap your config with `frontfriend`: Update `next.config.js`: ```js const frontfriend = require('@frontfriend/tailwind/next') /** @type {import('next').NextConfig} */ const nextConfig = { // Your existing config... } module.exports = frontfriend(nextConfig) ``` The `frontfriend` wrapper ensures proper integration with Frontfriend's build process and hot reloading. For TypeScript projects, also update `tsconfig.json` or `jsconfig.json`: ```json { "compilerOptions": { "paths": { "@/*": ["./src/*"] } } } ``` ### Step 6: Initialize Design Tokens ```bash # Fetch your design tokens from Frontfriend npx frontfriend init ``` This creates a local cache of your design system tokens. ### Step 7: Download React Components ```bash # Download all available React components npx frontfriend download all -f react # Or download specific components npx frontfriend download button card accordion -f react ``` Components will be downloaded to `src/components/ui/` (as configured in your aliases). ## Using Design Tokens After initialization, use your design tokens as Tailwind utilities: ```jsx export default function Example() { return (
Your Frontfriend tokens are now available as Tailwind utilities.