Instrucciones
Para asegurar la consistencia y presición en el desarrollo con ElementumUI, es crucial configurar adecuadamente nuestro entorno de desarrollo. Esto garantiza que los componentes que diseñemos y visualicemos en pantalla sean totalmente idénticos en su implementación final.
La correcta configuración del entorno de desarollo, especialmente en un entorno de Next.js, TypeScript y Tailwind CSS, asegura una experiencia de desarrollo fluida y eficiente.
Con esta configuración inicial, podemos maximizar la calidad y coherencia de nuestros componentes, lo que contribuye a la construcción de aplicaciones robustas y estéticamente coherentes.
- 1Crear el proyecto- Comienza creando un nuevo proyecto de Next.js con TypeScript y Tailwind CSS. - npx create-next-app@latest my-app --typescript --tailwind --eslint
- 2Tailwind CSS- Terminal - npm install -D tailwindcss postcss autoprefixer npx tailwindcss init -p- globals.css - @tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --primary: 330 75% 53%; --secondary: 0 0% 97%; --tertiary: 220 3% 91%; --background: 0 0% 100%; --background-secondary: 0 0% 97%; --background-tertiary: 220 3% 91%; --foreground: 0 0% 3.9%; --border: 0 0% 92%; --muted: 60 4.8% 95.9%; --muted-foreground: 25 5.3% 44.7%; --success: 142 83% 45%; --warning: 45 97% 47%; --info: 199 94% 48%; --danger: 0 72% 60%; --radius: 0.5rem; } .dark { --primary: 330 75% 53%; --secondary: 0 0% 8%; --tertiary: 0 0% 15%; --background: 0 0% 3.9%; --background-secondary: 0 0% 8%; --background-tertiary: 0 0% 15%; --foreground: 0 0% 98%; --border: 0 0% 10%; --muted: 12 6.5% 15.1%; --muted-foreground: 24 5.4% 63.9%; --success: 142 83% 45%; --warning: 45 97% 47%; --info: 199 94% 48%; --danger: 0 72% 60%; } } @layer base { body { @apply bg-background text-foreground; } i { margin-top: 0.25rem; } ::-webkit-scrollbar { width: 0; } }- tailwind.config.ts - import type { Config } from 'tailwindcss'; const config: Config = { darkMode: 'class', content: [ './pages/**/*.{js,ts,jsx,tsx,mdx}', './components/**/*.{js,ts,jsx,tsx,mdx}', './app/**/*.{js,ts,jsx,tsx,mdx}', ], theme: { extend: { container: { screens: { xl: '1200px', }, }, colors: { success: 'hsl(var(--success))', warning: 'hsl(var(--warning))', info: 'hsl(var(--info))', danger: 'hsl(var(--danger))', primary: { DEFAULT: 'hsl(var(--primary))', }, secondary: { DEFAULT: 'hsl(var(--secondary))', }, tertiary: { DEFAULT: 'hsl(var(--tertiary))', }, border: 'hsl(var(--border))', foreground: 'hsl(var(--foreground))', background: { DEFAULT: 'hsl(var(--background))', secondary: 'hsl(var(--background-secondary))', tertiary: 'hsl(var(--background-tertiary))', }, muted: { DEFAULT: 'hsl(var(--muted))', foreground: 'hsl(var(--muted-foreground))', }, }, transitionDuration: { DEFAULT: '150ms', }, boxShadow: { '3xl': '0 35px 60px -15px rgba(0, 0, 0, 0.3)', }, borderRadius: { lg: 'var(--radius)', md: 'calc(var(--radius) - 2px)', sm: 'calc(var(--radius) - 4px)', }, keyframes: { fadeIn: { from: { opacity: '0', transform: 'scale(.95)' } }, fadeOut: { to: { opacity: '0', transform: 'scale(.95)' } }, }, animation: { fadeIn: 'fadeIn 0.1s ease-out', fadeOut: 'fadeOut 0.15s ease-out forwards', }, }, }, important: true, plugins: [], }; export default config;
- 3Iconos- Terminal - npm install @flaticon/flaticon-uicons- globals.css - @import '@flaticon/flaticon-uicons/css/all/all';
- 4Librerías extras- Para ciertos componentes es posible que se necesiten librerías adicionales para su correcto funcionamiento. - Las instrucciones detalladas sobre cómo instalar estas librerías adicionales se proporcionarán en la página de detalle de cada componente. - De esta manera, garantizamos que los desarrolladores tengan acceso a toda la información necesaria para utilizar los componentes de ElementumUI de manera efectiva y eficiente.