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 🙏

© 2024 – Pkg Stats / Ryan Hefner

ngx-stepper

v1.1.6

Published

Angular Steppers directive for Angular Material

Downloads

1,223

Readme

ngx-stepper

Angular Steppers directive for Angular Material

Based on Material Steppers: https://www.google.com/design/spec/components/steppers.html#steppers-types-of-steppers

Plunker Demo

http://embed.plnkr.co/n1Ye3pQY6dlMSoJizO6Y/

Run Demo App

You can try out the Angular Steppers in the demo app built with Angular-CLI.

#1 To start the demo app clone or download the repo.

#2 Install the latest version of Angular-CLI

npm install -g angular-cli@latest

#3 Install npm packages

npm install

#4 Run the app

ng serve

#5 Open the app

http://localhost:4200/

Installation in package.json

npm i -S ngx-stepper

note: works with angular 2 & 4

Import to app module

import { NgxStepperModule } from 'ngx-stepper';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    NgxStepperModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Write your html

<ngx-stepper #stepperDemo="stepper" [options]="options">
  <ngx-step [label]="'Select a campaign'">
    <ngx-step-body>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur nobis saepe facere suscipit atque,
        sapiente, natus mollitia ipsum odit accusamus repellendus deserunt. Odio sit similique, labore maxime
        voluptatibus, eaque autem!</p>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur nobis saepe facere suscipit atque,
        sapiente, natus mollitia ipsum odit accusamus repellendus deserunt. Odio sit similique, labore maxime
        voluptatibus, eaque autem!</p>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur nobis saepe facere suscipit atque,
        sapiente, natus mollitia ipsum odit accusamus repellendus deserunt. Odio sit similique, labore maxime
        voluptatibus, eaque autem!</p>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur nobis saepe facere suscipit atque,
        sapiente, natus mollitia ipsum odit accusamus repellendus deserunt. Odio sit similique, labore maxime
        voluptatibus, eaque autem!</p>
    </ngx-step-body>
    <ngx-step-actions>
      <button md-button class="md-primary md-raised" (click)="selectCampaign()">Continue</button>
      <button md-button class="md-primary" (click)="stepper.back()">Cancel</button>
    </ngx-step-actions>
  </ngx-step>
  <ngx-step [label]="'Publish the ad'">
    <ngx-step-body>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur nobis saepe facere suscipit atque,
        sapiente, natus mollitia ipsum odit accusamus repellendus deserunt. Odio sit similique, labore maxime
        voluptatibus, eaque autem!</p>
    </ngx-step-body>
    <ngx-step-actions>
      <button md-button class="md-primary md-raised" (click)="stepper.next()">Complete</button>
      <button md-button class="md-primary" (click)="stepper.back()">Back</button>
    </ngx-step-actions>
  </ngx-step>

Stepper Options

options attribute

Value of the options attribute is a type of StepperOptions. It can contain the following properties.

Detailed property bellow:

| Options | Default | Type | Description | | --- | --- | --- | -- | | vertical | false | boolean | | | linear | true | boolean | | | alternative | true | boolean | | | mobileStepText | true | boolean | | | labelStep | 'Step' | string | | | labelOf | 'Of' | string | | | enableSvgIcon | false | boolean | |

Stepper Service

Used to control a stepper by it's id. Example:

@ViewChild('stepperDemo')
public steppers: NgxStepperComponent;

public selectCampaign(): void {
  this.steppers.showFeedback('Checking, please wait ...');
  this.steppers.next();
}

Detailed service operations bellow:

| Method | Description | Returns | | --- | --- | --- | | next() | Complete the current step and move one to the next. Using this method on editable steps (in linear stepper) it will search by the next step without "completed" state to move. When invoked it dispatch the event onstepcomplete to the step element. | boolean - True if move and false if not move (e.g. On the last step) | | back() | Move to the previous step without change the state of current step. Using this method in linear stepper it will check if previous step is editable to move. | boolean - True if move and false if not move (e.g. On the first step) | | skip() | Move to the next step without change the state of current step. This method works only in optional steps. | boolean - True if move and false if not move (e.g. On non-optional step) | | goto(stepNumber: number) | Move "active" to specified step id parameter. The id used as reference is the integer number shown on the label of each step (e.g. 2). | boolean - True if move and false if not move (e.g. On id not found) | | error(message: string) | Defines the current step state to "error" and shows the message parameter on title message element.When invoked it dispatch the event onsteperror to the step element. | {string} message The error message | | clearError() | Defines the current step state to "normal" and removes the message parameter on title message element. | void | | showFeedback(message?: string) | Shows a feedback message and a loading indicador. | void | | clearFeedback() | Removes the feedback. | void |

Embed SVG Icon assets

  • Supported Namespace: 'step-done', 'step-warning'
import {DomSanitizer} from '@angular/platform-browser';
import {MdIconRegistry} from '@angular/material';

public options: StepperOptions = {
  enableSvgIcon: true
};
  
constructor(private _iconRegistry: MdIconRegistry,private _sanitizer: DomSanitizer) {}

public ngOnInit(): void {
  this._iconRegistry
    .addSvgIcon('step-done', this._sanitizer.bypassSecurityTrustResourceUrl('YOUR_ICON_URL'));
  this._iconRegistry
    .addSvgIcon('step-warning', this._sanitizer.bypassSecurityTrustResourceUrl('YOUR_ICON_URL'));
}
  • EX: 'YOUR_ICON_URL' = 'assets/icon/warning.svg'

TODO

  • [x] Horizontal steppers
  • [x] Vertical steppers
  • [x] Linear steppers
  • [x] Non-linear steppers
  • [x] Alternative labels
  • [x] Optional steps
  • [ ] Editable steps
  • [x] Stepper feedback
  • Mobile steppers
    • [x] Mobile step text
    • [ ] Mobile step dots
    • [ ] Mobile step progress bar
  • [x] Correct apply styles (css) of the material design
  • [x] Embed SVG Icon assets
  • [ ] Create a better demo page with all options.

Remarks