Communitygithub.com

heroui-inc/heroui-react

Bibliothèque de composants React HeroUI v3 (Tailwind CSS v4 + React Aria). À utiliser lors de la création d'interfaces avec HeroUI — création de boutons, modales, formulaires, cartes ; installation de @heroui/react ; configuration des thèmes clair/sombre avec des variables oklch ; ou récupération de documentation de composants.

Qu'est-ce que heroui-react ?

Ce skill fournit des directives complètes et une documentation pour HeroUI v3, une bibliothèque de composants React moderne construite avec Tailwind CSS v4 et React Aria. Il est spécialement conçu pour être utilisé avec des agents IA ou des outils comme Claude Code, Cursor ou Codex afin de générer du code UI cohérent et accessible. Le skill couvre l'installation du package `@heroui/react`, la configuration des thèmes clair et sombre à l'aide de variables CSS oklch, ainsi que l'utilisation d'une large gamme de composants prêts à l'emploi comme les boutons, les modales, les formulaires et les cartes. Il offre également des instructions pour consulter la documentation officielle des composants. En suivant ces directives, les développeurs peuvent construire rapidement des interfaces utilisateur élégantes et réactives tout en respectant les meilleures pratiques de HeroUI, y compris la gestion des styles globaux et des fournisseurs de contexte nécessaires au bon fonctionnement de la bibliothèque.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/heroui-inc/heroui/tree/main/skills/heroui-react

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait heroui-react ?

HeroUI v3 — une bibliothèque de composants React basée sur Tailwind CSS v4 et React Aria. Utilisez ce skill lorsque vous construisez des interfaces utilisateur avec HeroUI : création de boutons, modales, formulaires, cartes ; installation de @heroui/react ; configuration des thèmes clair/sombre avec des variables oklch ; ou récupération de documentation de composants.

Mots clés : HeroUI, Hero UI, heroui, @heroui/react, @heroui/styles.

Installation

npm install @heroui/react framer-motion

Assurez-vous d'avoir Tailwind CSS v4 installé et configuré.

Configuration de Tailwind

Dans votre fichier CSS global (par exemple app/globals.css), importez les styles de HeroUI :

@import "tailwindcss";
@import "@heroui/react/dist/styles.css";

Configurer les couleurs du thème (optionnel, par défaut OKLCH Heroui) :

@custom-variant dark (&:is(.dark *));

Configuration du fournisseur

Enveloppez votre application racine avec le HeroUIProvider :

// app/providers.tsx
'use client';

import {HeroUIProvider} from '@heroui/react';

export function Providers({children}: {children: React.ReactNode}) {
  return (
    <HeroUIProvider>
      {children}
    </HeroUIProvider>
  );
}

Composants de base

Bouton

import {Button} from '@heroui/react';

export default function App() {
  return (
    <Button color="primary">
      Cliquez moi
    </Button>
  );
}

Modale

import {Modal, ModalContent, ModalHeader, ModalBody, ModalFooter, Button, useDisclosure} from '@heroui/react';

export default function App() {
  const {isOpen, onOpen, onClose} = useDisclosure();

  return (
    <>
      <Button onPress={onOpen}>Ouvrir la modale</Button>
      <Modal isOpen={isOpen} onClose={onClose}>
        <ModalContent>
          <ModalHeader>Titre de la modale</ModalHeader>
          <ModalBody>
            <p>Contenu de la modale</p>
          </ModalBody>
          <ModalFooter>
            <Button color="danger" variant="light" onPress={onClose}>Fermer</Button>
            <Button color="primary" onPress={onClose}>Agir</Button>
          </ModalFooter>
        </ModalContent>
      </Modal>
    </>
  );
}

Carte (Card)

import {Card, CardHeader, CardBody, CardFooter, Divider, Image, Button} from '@heroui/react';

export default function App() {
  return (
    <Card className="max-w-[400px]">
      <CardHeader className="flex gap-3">
        <Image
          alt="logo hero-ui"
          height={40}
          radius="sm"
          src="https://avatars.githubusercontent.com/u/86160567?s=200&v=4"
          width={40}
        />
        <div className="flex flex-col">
          <p className="text-md">HeroUI</p>
          <p className="text-small text-default-500">heroui.com</p>
        </div>
      </CardHeader>
      <Divider/>
      <CardBody>
        <p>Construisez de magnifiques interfaces utilisateur avec HeroUI.</p>
      </CardBody>
      <Divider/>
      <CardFooter>
        <Button color="primary" variant="flat">
          Bouton
        </Button>
      </CardFooter>
    </Card>
  );
}

Champ de saisie (Input)

import {Input} from '@heroui/react';

export default function App() {
  return (
    <Input
      isRequired
      type="email"
      label="Email"
      defaultValue="[email protected]"
      className="max-w-xs"
    />
  );
}

Documentation des composants

Pour obtenir une documentation détaillée sur un composant spécifique, utilisez la commande suivante ou consultez la documentation officielle :

# Ceci est un exemple — utilisez l'interface de l'agent pour récupérer les docs
# Par exemple : heroui documentation pour le composant Button

Sur https://www.heroui.com/docs/components/ vous trouverez tous les composants listés.

Thèmes

HeroUI prend en charge les thèmes clair et sombre via des variables oklch. Appliquez la classe dark à l'élément racine (par exemple <html>) pour passer en mode sombre.

// Exemple : basculer le thème
function ThemeSwitcher() {
  const [isDark, setIsDark] = useState(false);

  useEffect(() => {
    document.documentElement.classList.toggle('dark', isDark);
  }, [isDark]);

  return (
    <Button onPress={() => setIsDark(prev => !prev)}>
      Basculer le thème
    </Button>
  );
}

Ressources supplémentaires

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills associés