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

tour-guide-vasu-cct

v1.0.7

Published

TourGuide is a customizable and interactive step-by-step guide for your web application. It allows developers to create guided tours for users, highlighting specific elements on the page and displaying contextual information.

Readme

TourGuide React Component

TourGuide is a customizable and interactive step-by-step guide for your web application. It allows developers to create guided tours for users, highlighting specific elements on the page and displaying contextual information.

Features

  • Interactive Highlighting: Highlights specific elements on the page to guide user attention.
  • Customizable Design: Modify colors and styles using props or local storage configurations.
  • Responsive Support: Works seamlessly across mobile, tablet, and desktop screens.
  • Dynamic Positioning: Calculates the optimal position for popups based on viewport dimensions and element location.
  • Restart and Skip Options: Easily restart or skip the tour at any time.
  • Color Customization: Allows users to customize the overlay, text, and button colors.
  • Text-to-Speech (TTS): Provides an optional text-to-speech feature to read out the step descriptions.

Installation

To install the TourGuide component, use npm or yarn:

npm i tour-guide-vasu-cct

or

yarn add tour-guide-vasu-cct

Usage

Step 1: Add the TourGuide Component

Import and use the TourGuide component in your application. You need to pass the steps prop, which is an array of steps to guide the user. The new props system also allows for specifying advanced configurations like colorConfig and enabling text-to-speech.

import React from 'react';
import { TourGuide } from 'tour-guide-vasu-cct';

const steps = [
  {
    id: 'step1',
    title: 'Welcome to Step 1',
    description: 'This is the first step of the tour.',
    logoUrl: 'https://example.com/logo1.png',
  },
  {
    id: 'step2',
    title: 'Step 2',
    description: 'Here is some additional information.',
    logoUrl: 'https://example.com/logo2.png',
  },
];

const App = () => {
  return (
    <div>
      <TourGuide
        steps={steps.map((step) => ({
          ...step,
          content: step.description, // Used for text-to-speech if enabled
        }))}
        colorConfig={{
          Modal: '#f8f9fa',
          textColor: '#212529',
          buttonColor: 'blue',
          overlayBackgroundColor: 'rgba(0, 0, 0, 0.7)',
          highlightColor: 'black',
        }}
        enableTTS={true} // Enable text-to-speech feature
      />
    </div>
  );
};

export default App;

Step 2: Add the Target Elements

Add elements to your page that correspond to the id values in your steps array.

<div id="step1">This is the first element to highlight.</div>
<div id="step2">This is the second element to highlight.</div>

Step 3: Customize Colors

You can customize the colors of the tour guide modal, text, and buttons by passing a colorConfig object as a prop or saving it in local storage.

Example Configuration

{
  "Modal": "#f8f9fa",
  "textColor": "#212529",
  "buttonColor": "blue",
  "overlayBackgroundColor": "rgba(0, 0, 0, 0.7)",
  "highlightColor": "black"
}

Step 4: Enable Text-to-Speech (Optional)

Enable the text-to-speech feature by setting the enableTTS prop to true. This feature will read out the content property of each step.

Props

TourGuide

| Prop | Type | Description | |---------------------|--------------------|----------------------------------------------------------| | steps | Array | Array of step objects for the tour guide. | | colorConfig | Object | Configuration object for customizing colors. | | onComplete | Function | Callback function when the tour is completed. |

Step Object

| Property | Type | Description | |---------------------|------------|----------------------------------------------------------| | id | string | The id of the target element to highlight. | | title | string | Title displayed in the popup. | | description | string | Description displayed in the popup. | | content | string | Content to be read out via text-to-speech (if enabled). | | logoUrl | string | URL for an optional logo image. |

Dependencies

This component relies on the following dependencies:

  • React
  • useViewport: A custom hook for detecting viewport width.
  • Web Speech API: Used for the text-to-speech functionality.

License

This project is licensed under the MIT License.


Author

Vasu Vachhani