Giter Site home page Giter Site logo

notable-tour's Introduction

About

The Notable Tour library will take the user on a tour of your application.

Notable Tour will highlight different HTMLElements by surrounding the element with a darkened div and providing a text description/instructions for the user to read.

Install

npm i notable-tour

Example

Coming Soon

Instructions

The HTML

For each element you would like Notable Tour to highlight, provide a data-tour element with the text you would like displayed:

<span data-tour="This is text notable tour will display">Highlighted Text Here</span>

Config

Pass an object that overrides any of these values to customize the look of the tour:

        let config = {
            backgroundColor: 'black',
            color: '#ffffff',
            opacity: .8,
            className: 'notable-tour',
            buttons: {
                next: {
                    classes: ["btn", "btn-primary"]
                },
                previous: {
                    classes: ["btn", "btn-primary"]
                },
                end: {
                    classes: ["btn", "btn-primary"]
                },
            },
            theme : 'light'
        };


    tour.start(config);

Themes include:

  • light
  • dark
  • elegant
  • fantasy
  • robot

Import (React?/Angular?)

import tour from 'notable-tour';

class SomeComponent {
  public doTour() {
    tour();
  }
}

<button (click)="doTour()">Start Tour</button>

notable-tour's People

Contributors

birwin0000 avatar

Watchers

 avatar

notable-tour's Issues

Multiple Tours

Allow multiple tours on one page

Examples:

  • One tour launches immediately on page load and shows new features, One tour is a standard help tour
  • Different tours cover different features and have different launching points

Shake Tour start button

By overriding a config option, allow the user to animate the button (shake) a few times to draw the user's attention to the tour.

This shaking will be disabled if the user has already viewed the tour or alternatively, if they have already viewed the web page

Tour Override

Allow Tour entries to be overridden by providing an object containing component IDs and a tour entry text description.

Themes

Allow user to theme tours

Animation

Tour should use CSS animations from one tour entry to another including:

  • Slow Scrolling
  • Move the highlighted area to new destination over a period of time
  • Move text in and out from side of screen
  • Move arrow and morph into new direction over a period of time

Auto-register Tour Start button

Auto-register tour start button so that programmers/implementers can drop a button on a page and have it launch a tour without any programming

  • Investigate using an IIFE to register a click event

Meta Tasks

  1. Test Code Coverage
  2. Github Pipeline
    • Coverage
    • Build Passing
    • Tests Passing
    • Stable Release Version
    • Static Code Analysis Grade (JsHint)
  3. Publish to NPM Repo

Fix merge actions

Merge actions are failing on the github server when merging into main

Auto-Start Tour

Allow end users the ability to configure the tour to start automatically based upon whether or not a cookie is set on the end-user's browser. If no cookie indicating a tour happened, then the first step in the tour happens automatically.

Note - This feature is probably not recommended enabled as the end-user experience might be impaired, but there may be instances for its usage.

Responsive

Tour should adjust based upon screen width/height.

  • Arrow should be dropped on small screens
  • Text should reside directly below or above the component

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.