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

ember-paper-stepper

v0.0.10

Published

The default blueprint for ember-cli addons.

Downloads

778

Readme

ember-paper-stepper Build Status Ember Observer Score

This is an ember-paper addon that provides an implementation of material steppers.

Usage

An example usage:

{{#paper-stepper currentStep=currentStep onStepChange=(action (mut currentStep))
  onStepperCompleted=(action "saveModel") as |stepper|}}

  {{#stepper.step label="Select how it looks" as |step|}}
    {{#step.body}}
      {{!-- Content here. Probably some form. --}}
    {{/step.body}}
    {{#step.actions as |nextStep previousStep goTo|}}
      {{#paper-button primary=true raised=true onClick=(action nextStep)}}
        Continue
      {{/paper-button}}
      {{#paper-button onClick=(action previousStep)}}
        Back
      {{/paper-button}}
      {{#paper-button onClick=(action goTo 0)}}
        Start from the beginning
      {{/paper-button}}
    {{/step.actions}}
  {{/stepper.step}}

  {{!-- add as many steps as necessary --}}

{{/paper-stepper}}

Demo

You can see how this addon looks like at https://coachlogix.github.io/ember-paper-stepper/

Installation

ember install ember-paper-stepper

Don't forget to import your styles in your app.scss after importing ember paper styles:

@import "ember-paper";
@import "ember-paper-stepper";

API

{{#paper-stepper as |stepper|}}

  • currentStep - defaults to 0 - this is the 0-indexed number of the current active step. Use this together with onStepChange to update steps.
  • vertical - defaults to false - this toggles the stepper between vertical and horizontal modes.
  • linear - defaults to true - if true, the user must pass through all the steps in a "linear" fashion. If false, the user is able to click on the steps at will, not following any particular order.
  • alternative - if true, the stepper will show an alternative form of the horizontal stepper detailed in the spec. Only works when vertical is falsy.
  • mobileStepper - if true, an horizontal stepper will turn into a mobile stepper if viewport width is below 599px.
  • onStepChange - an action that is sent when a nextStep, previousStep or header button is pressed. Use this together with currentStep to update steps.
  • onStepperCompleted - an action that is sent when a nextStep button is pressed on the last step.

This component yields a hash that contains a step component which you can use to define multiple steps.

{{#stepper.step as |step|}}

  • label - the label to display on the header buttons.
  • optional - if true, an optional styling and label are rendered on the respective step header button.
  • optionalLabel - defaults to 'Optional' - this is the text that is rendered when optional is true.
  • error - Set this property to a string containing an error message. Use this property to
    1. user an error style on the respective header buttons to an error style
    2. display an error message on the respective header button
  • summary - you can specify a summary for each step. This text will be displayed next to the step number. It is useful to remember the user what has been selected in previous steps. This will take precedence over the optional option.
  • stepNumber - this property is automatically assigned by the parent stepper based on the rendering order. For most use cases you won't need this property and the default behavior is enough. However, in some cases you may want to insert some steps dynamically in the middle of the steps. This makes sure that the steps are ordered when rendered. You don't need to specify sequencial numbers. You can use, for example, steps with stepNumbers 1, 8 and 10. They will be rendered in the correct order.

This component yields a hash that contains a body and an actions component which you can use to define multiple the content of the step.

The hash also contains nexStep, previousStep and goTo actions to be used separately.

{{#step.body}}

Use this component to render your content with the correct styles/markup.

{{#step.actions as |nextStep previousStep goTo|}}

This component yields three actions: nextStep, previousStep and goTo. You can use those actions in any way you prefer. They work perfectly using ember-paper's paper-button like: {{#paper-button onClick=(action goTo 0)

Credits

This addon was inspired by material-steppers project.

Running

Running Tests

  • npm test (Runs ember try:each to test your addon against multiple Ember versions)
  • ember test
  • ember test --server

Building

  • ember build

For more information on using ember-cli, visit https://ember-cli.com/.