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-expansion-panel

v0.0.4

Published

Material expansion panels for ember-paper.

Downloads

253

Readme

ember-paper-expansion-panel Build Status Ember Observer Score

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

Usage

An example usage:

{{#paper-expansion-panel as |panel|}}
  {{#panel.collapsed}}
    <div class="md-panel-title">Title {{item}}</div>
    <div class="md-panel-summary">Summary</div>
    {{paper-icon "keyboard_arrow_down"}}
  {{/panel.collapsed}}

  {{#panel.expanded as |expanded|}}
    {{#expanded.header}}
      <div class="md-panel-title">Expanded title</div>
      <div class="md-panel-summary">Expanded summary</div>
      {{paper-icon "keyboard_arrow_up"}}
    {{/expanded.header}}

    {{#expanded.content}}
      Content
    {{/expanded.content}}

    {{#expanded.footer}}
      <span class="flex"></span>
      {{#paper-button onClick=(action panel.collapse)}}
        Cancel
      {{/paper-button}}
      {{#paper-button primary=true onClick=(action panel.collapse)}}
        Save
      {{/paper-button}}
    {{/expanded.footer}}

  {{/panel.expanded}}
{{/paper-expansion-panel}}

Demo

You can see how this addon looks like at https://miguelcobain.github.io/ember-paper-expansion-panel/

Installation

ember install ember-paper-expansion-panel

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

@import "ember-paper";
@import "ember-paper-expansion-panel";

API

{{#paper-expansion-panel as |panel|}}

  • expanded - defaults to false - this toggles the expansion panel between expanded and collapsed modes.
  • onExpandedChange - an action that is sent when a the panel is expanded or collapsed. You get two arguments, a boolean with the current state of expanded and the event object

This component yields a hash that contains:

  • collapsed and expanded components
  • a collapse action you can use to collapse the panel (e.g use it with paper-button's onClick)
  • an isExpanded boolean that tells you the current state of the panel

{{#panel.collapsed}}

Use this component to render what shows up in the collapsed state. Its API is just like a {{#paper-item}}. It also yields a controls hash.

{{#panel.expanded as |expanded|}}

This component yields a hash that contains the header, content and footer components.

{{#expanded.header}}

Use this component to render what goes into the expanded header state. Again, this component will behave like {{#paper-item}}. It also yields a controls hash.

{{#expanded.content}}

Use this component to render what goes inside the expanded content area.

{{#expanded.footer}}

Use this component to render what goes inside the expanded footer area.

Contributing

Installation

  • git clone <repository-url>
  • cd my-addon
  • npm install

Linting

  • npm run lint:js
  • npm run lint:js -- --fix

Running tests

  • ember test – Runs the test suite on the current Ember version
  • ember test --server – Runs the test suite in "watch mode"
  • ember try:each – Runs the test suite against multiple Ember versions

Running the dummy application

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

License

This project is licensed under the MIT License.