ngx-tour-wizard
TypeScript icon, indicating that this package has built-in type declarations

16.0.1 • Public • Published

ngx-tour-wizard

A cool Angular 8+ module for intro tours! ngx-tour-wizard a highly customizable library. Popper are made with NgxPopperjs.

npm npm MIT licensed Build Status Size

Before starting

##IMPORTANT for IE

This library use CustomEvents. If you want compatibility with IE, you should add a polyfill to your app polyfills.ts.

See polyfill on gist

##Styling

As you may know directives don't have a "Styles" property. So it's impossible to let them style your markup, unless you include an external CSS.

For this purpose you can import prebuild themes for ngx-tour-wizard...

...in SASS style, where you can edit variables (it's very straight forward so read the source)

@import "node_modules/ngx-tour-wizard/scss/tour-wizard.scss";

...or in CSS style (and you can always override everything you want)

@import "node_modules/ngx-tour-wizard/css/tour-wizard.css";

Be sure of including at least one of these in your styles.css / styles.scss to get the basic style

Installation

$ npm install ngx-tour-wizard@latest

and then from your Angular AppModule:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';

// Import what you need from ngx-mat-lib
import { NgxTourWizardModule } from 'ngx-tour-wizard';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,

    // Specify the import
    NgxTourWizardModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

You can optionally use the forRoot() method and pass tourWizardDefaults as follows

// ...
providers: [
    NgxTourWizardModule.forRoot({
        backdropTarget: ".my-selector",
        backdropEnabled: true,
        keyboardEnabled: false
    })
]
// ...

Once your library is imported, you can use its components, directives and pipes in your Angular application:

<!-- You can now use your library component in app.component.html -->
<h1>
  {{title}}
</h1>
<span (click)="startTour()">
    Start tour
</span>
<any tourWizardAnchor="FOO_1">MY ANCHOR 1 </any>
<any tourWizardAnchor="FOO_2">MY ANCHOR 2 </any>
<any tourWizardAnchor="FOO_3">MY ANCHOR 3</any>
import { TourWizardService, TourWizardStep } from 'ngx-tour-wizard';

export class MyComponent {

    constructor(private _tourWizardService: TourWizardService) {
    }

    ngOnInit(): void {
        this._tourWizardService.initialize([
            {
                anchorId: "FOO_1",
                content: "Some text for FOO 1",
                title: "First"
            },
            {
                anchorId: "FOO_2",
                content: "Some other stuff for FOO 2",
                title: "Second"
            },
            {
                anchorId: "FOO_3",
                content: "Let's finish this up!!!",
                title: "Third"
            },
        ] as TourWizardStep[]);
    }

    startTour(): void {
        this._tourWizardService.start();
    }
}

Versioning ngx-tour-wizard will be maintained under the Semantic Versioning guidelines as much as possible. Releases will be numbered with the following format:

..

And constructed with the following guidelines:

Breaking backward compatibility bumps the major (and resets the minor and patch) New additions, including new icons, without breaking backward compatibility bumps the minor (and resets the patch) Bug fixes, changes to brand logos, and misc changes bumps the patch For more information on SemVer, please visit http://semver.org.

License

MIT © Tony Samperi

This library is free, open source, and GPL friendly. You can use it for commercial projects, open source projects, or really almost whatever you want.

Attribution is required by MIT, SIL OLF, and CC BY licenses. Downloaded files already contain embedded comments with sufficient attribution, so you shouldn't need to do anything additional when using these files normally.

TODOS

  • IMPORTANT!! Add optional ID for backdrop, or custom backdrop
  • Optional pause on click outside
  • Add option to remove backdrop and kboard on end?
  • Disable tour on route change??
  • Disable scrolling between 2 steps?
  • Async content?

Package Sidebar

Install

npm i ngx-tour-wizard

Weekly Downloads

62

Version

16.0.1

License

MIT

Unpacked Size

271 kB

Total Files

60

Last publish

Collaborators

  • tonysamperi