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-toolbars

v0.6.0

Published

Ember toolbar manager

Downloads

117

Readme

ember-toolbars

This addon manages animated, fixed-position toolbars on any edge of the viewport. What you put inside the toolbars and how you style them are entirely up to you.

ember install ember-toolbars

You also need to have @ember/jquery installed in your app. If it is not already in your app's package.json, run:

ember install @ember/jquery

Usage

Wrap your content inside the toolbar-manager component. Most often you will want to do this within application.hbs, like:

{{#toolbar-manager}}
  {{outlet}}
{{/toolbar-manager}}

Then whenever you want to display a toolbar, use any of these components:

  • in-left-toolbar
  • in-top-toolbar
  • in-right-toolbar
  • in-bottom-toolbar

Each one accepts a show argument that should be a component to show in that toolbar. For example:

{{in-left-toolbar show=(component "your-component-name")}}

Since you're using Ember's built-in component helper, you can also pass arbitrary arguments or actions to your component, just as if it was rendering in place:

{{in-bottom-toolbar show=(component "media-chooser" images=model.images choseImage=(action "saveImage"))}}

Making Horizontal Space for Toolbars

The toolbar-manager component adapts its margins to make room for whatever toolbars are on screen. This means that the content inside of it will have less room when the sidebars are present. For vertical space, this is relatively easy. The top toolbar pushes your content downward, and the bottom toolbar adds a margin to your content so that users can always scroll to the bottommost content without it being obscured.

Horizontal space is subject to more tradeoffs, so you have several choices for how you want to adapt.

If you do nothing special, your content will simply get resized smaller. Text will reflow, etc.

If you give you content a fixed width (like 100vw or 800px or 40em), it will slide to the right to make room for the left sidebar. For example:

{{#toolbar-manager}}
  <div style="width: 100vw">
    {{sample-content}}
  </div>
{{/toolbar-manager}}

If you give you content a fixed width and float: right, it will slide to the left to make room for the right sidebar. You should clear the float so that toolbar-manager bottom margin will still work correctly, like:

{{#toolbar-manager}}
  <div style="width: 100vw; float: right">
    {{sample-content}}
  </div>
  <div style="clear: both"></div>
{{/toolbar-manager}}

If you want your content to scale down to match the available space, you can use the squishable-container addon:

{{#toolbar-manager}}
  {{#squishable-container}}
    {{sample-content}}
  {{/squishable-container}}
{{/toolbar-manager}}