JSPM

  • Created
  • Published
  • Downloads 8
  • Score
    100M100P100Q44762F
  • License ISC

Un package React simple et puissant pour créer des expériences d'onboarding interactives

Package Exports

  • onboarder
  • onboarder/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (onboarder) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Onboarder

Un package React simple et puissant pour créer des expériences d'onboarding interactives dans vos applications.

Installation

npm install onboarder
# ou
yarn add onboarder

Caractéristiques

  • 🚀 Facile à intégrer
  • 🎨 Personnalisable
  • 📱 Responsive
  • 🔄 Navigation fluide
  • ⚛️ Compatible React
  • 🎯 Ciblage d'éléments précis
  • 🌈 Thèmes personnalisables

Utilisation de base

import { Onboarder, Step } from "onboarder";

function App() {
  const steps = [
    {
      target: "#welcome-button",
      title: "Bienvenue !",
      content: "Ceci est la première étape de votre onboarding.",
      placement: "bottom",
    },
    {
      target: ".profile-section",
      title: "Votre profil",
      content: "Ici vous pouvez gérer vos informations personnelles.",
      placement: "right",
    },
  ];

  return (
    <div>
      <Onboarder steps={steps} />
      {/* Votre application */}
    </div>
  );
}

Utilisation avec Next.js

Si vous utilisez Next.js, assurez-vous d'ajouter la directive "use client" en haut de votre composant :

"use client";

import { Onboarder } from "onboarder";

function YourComponent() {
  const steps = [
    {
      target: "#welcome-button",
      title: "Bienvenue !",
      content: "Ceci est la première étape de votre onboarding.",
      placement: "bottom",
    },
  ];

  return (
    <div>
      <Onboarder
        steps={steps}
        onComplete={() => console.log("Onboarding terminé !")}
      />
      {/* Votre contenu */}
    </div>
  );
}

export default YourComponent;

Cette directive est nécessaire car Onboarder utilise des fonctionnalités interactives qui nécessitent d'être exécutées côté client.

Configuration

Props de l'Onboarder

Prop Type Description
steps Step[] Liste des étapes de l'onboarding
onComplete () => void Callback appelé à la fin de l'onboarding
theme Theme Personnalisation du thème
isOpen boolean Contrôle l'affichage de l'onboarding
onClose () => void Callback appelé à la fermeture

Interface Step

interface Step {
  target: string; // Sélecteur CSS de l'élément cible
  title: string; // Titre de l'étape
  content: string; // Contenu de l'étape
  placement?: Placement; // Position de la bulle (top, bottom, left, right)
  offset?: number; // Décalage par rapport à la cible
}

Exemples avancés

Personnalisation du thème

const customTheme = {
  primary: "#007bff",
  secondary: "#6c757d",
  textColor: "#333",
  backgroundColor: "#fff",
  borderRadius: "8px",
  // ...autres propriétés de thème
};

<Onboarder steps={steps} theme={customTheme} />;

Contrôle programmatique

function App() {
  const [isOnboardingOpen, setIsOnboardingOpen] = useState(false);

  return (
    <div>
      <button onClick={() => setIsOnboardingOpen(true)}>
        Démarrer l'onboarding
      </button>

      <Onboarder
        steps={steps}
        isOpen={isOnboardingOpen}
        onClose={() => setIsOnboardingOpen(false)}
        onComplete={() => console.log("Onboarding terminé !")}
      />
    </div>
  );
}

Contribution

Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.

Licence

ISC