npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@gajendra-naphade/react-web-guide

v1.4.12

Published

React Web Guide: A customizable, interactive tour component for React apps.

Readme

React Web Guide

React Web Guide is a customizable, interactive website tour component for React applications. Guide users through your app with engaging, cursor-based tours to enhance onboarding and user experience.

npm version License GitHub issues


Table of Contents


Features

  • Interactive Tours: Cursor-driven navigation for intuitive user guidance.
  • Customizable Styling: Match your app's branding with ease.
  • Responsive Design: Seamless experience on desktop and mobile.
  • Progress Tracking: Clear indicators to show tour progress.
  • Smooth Animations: Fluid transitions for a polished look.
  • Minimizable UI: Compact interface to save screen space.
  • Modern UI: Beautiful default design with gradient effects.
  • React version Support: Supports React version >=16.

Ideal for user onboarding, feature showcases, and guided tutorials in Web apps.


Demo

See React Web Guide in action:

React Web Guide Demo


Installation

Install React Web Guide via npm, Yarn or pnpm :

npm install @gajendra-naphade/react-web-guide
yarn add @gajendra-naphade/react-web-guide
pnpm add @gajendra-naphade/react-web-guide

Quick Start

Get started in minutes:

import TourGuide from '@gajendra-naphade/react-web-guide';
import '@gajendra-naphade/react-web-guide/dist/styles.css';
import { useRef } from 'react';

function App() {
  const buttonRef = useRef(null);
  const tourSteps = [
    {
      ref: buttonRef,
      name: "Guide",
      color: "black",
      message: "This is the header section of your page",
      offsetX: 0,
      offsetY: 0,
      CursorMessageGap:10,
    },
    // Add more steps
  ];

  return (
    <div>
      <button ref={buttonRef}>Start</button>
      <TourGuide
        steps={tourSteps}
        onComplete={() => console.log('Tour completed!')}
      />
    </div>
  );
}

Props Documentation

Customize React Web Guide with these props:

| Prop | Type | Default | Description | |------|------|---------|-------------| | steps | Array | [] | Array of tour steps (required) | | onComplete | Function | - | Callback when tour completes | | startButtonText | String | "Start Tour" | Text for the start button | | skipButtonText | String | "Skip Tour" | Text for the skip button | | minimizedStartText | String | "Start" | Text for minimized start button | | minimizedSkipText | String | "Skip" | Text for minimized skip button | | showProgress | Boolean | true | Show/hide progress indicator | | buttonPosition | Object | { bottom: '1.5rem', right: '1.5rem' } | Position of the control button | | expandedButtonClassName | String | - | CSS classes for expanded button | | minimizedButtonClassName | String | - | CSS classes for minimized button | | buttonStyle | Object | {} | Custom styles for buttons | | CloseButtonText | ReactNode | <X size={16} /> | Close button content | | ExpandButtonText | ReactNode | <Maximize2 size={16} /> | Expand button content | | minimizedButtonStyle | Object | - | Styles for minimized button | | closeButtonClassName | String | - | CSS classes for close button | | expandButtonClassName | String | - | CSS classes for expand button | | closeButtonStyle | Object | {} | Custom styles for close button | | expandButtonStyle | Object | {} | Custom styles for expand button | | cursorImage | String | null | Custom cursor image URL | | CustomCursorClass | String | null | CSS classes for custom cursor | | messageBoxStyle | Object | {} | Custom styles for message box | | cursorStyle | Object | {} | Custom styles for cursor | | nextButtonText | String | "Next →" | Text for next button | | nextButtonContinueText | String | "Continue" | Text for continue button | | nextButtonClassName | String | - | CSS classes for next button | | nextButtonStyle | Object | {} | Custom styles for next button | | Theme | String | "Light" | Theme for the tour ("Light" or "Dark") | | Minimized | Boolean | true | Whether to start in minimized state | | showTooltip | Boolean | true | Show/hide the start tooltip | | messageClass | String | - | CSS classes for the message box |

Step Object Structure

interface Step {
  ref: React.RefObject<HTMLElement>; // Target element reference
  name: string;                     // Cursor display name
  message: string;                  // Tour message
  color?: string;                   // Cursor color
  offsetX?: number;                 // X offset for cursor
  offsetY?: number;                 // Y offset for cursor
  CursorMessageGap?: number;        // Gap between cursor and message(in pixels "px")
}

Example Usage

import { useRef } from 'react';
import TourGuide from '@gajendra-naphade/react-web-guide';
import '@gajendra-naphade/react-web-guide/dist/styles.css';

function App() {
  const buttonRef = useRef(null);
  const featureRef = useRef(null);
  const settingsRef = useRef(null);

  const tourSteps = [
    {
      ref: buttonRef,
      name: "Welcome",
      message: "Start your journey here!",
      color: "#ff6b6b",
      CursorMessageGap: 10
    },
    {
      ref: featureRef,
      name: "Features",
      message: "Explore our amazing features!",
      color: "#4CAF50",
      offsetX: 20,
      offsetY: 10
    },
    {
      ref: settingsRef,
      name: "Settings",
      message: "Customize your experience here",
      color: "#2196F3",
      CursorMessageGap: 15
    }
  ];

  return (
    <div>
      <button ref={buttonRef}>Start</button>
      <div ref={featureRef}>Features</div>
      <div ref={settingsRef}>Settings</div>
      <TourGuide
        steps={tourSteps}
        onComplete={() => console.log('Tour completed!')}
        startButtonText="Begin Tour"
        skipButtonText="End Tour"
        minimizedStartText="Start"
        minimizedSkipText="Skip"
        showProgress={true}
        Theme="Dark"
        Minimized={true}
        showTooltip={true}
        buttonPosition={{
          bottom: '2rem',
          right: '2rem'
        }}
        messageClass="custom-message"
        nextButtonText="Next Step"
        nextButtonContinueText="Continue"
        nextButtonClassName="custom-next-button"
      />
    </div>
  );
}

Contributing

We welcome contributions! To get started:

  1. Fork the repo.
  2. Create a branch (git checkout -b feature/YourFeature).
  3. Commit changes (git commit -m 'Add YourFeature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a Pull Request

License

MIT License - Use React Web Guide freely in your projects!


Support


Made with ❤️ by Gajendra Naphade