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

focus-panel

v0.1.6

Published

An HTML element that keeps the contents filling the container, but with a configurable focus point

Downloads

7

Readme

Focus panel

An HTML element that keeps the contents filling the container, but with a configurable focus point.

Useful for layouts with big full screen image/video backgrounds, which have areas that text should avoid.

Installation

<script src="https://unpkg.com/focus-panel[@version]></script> ([@version] is optional, but recommended)

or

npm install focus-panel, require('focus-panel')

Usage

Call the global focusPanelInit({mobileBreakpoint: ...}) to attach to all elements with the class name focus-panel.

e.g.

<div class="focus-panel"
     data-max-height="500">
    <video autoplay loop muted playsinline>
        <source src="https://nordprojects-static.s3.amazonaws.com/lantern/lantern-hero-mobile.mp4" type="video/mp4">
        <source src="https://nordprojects-static.s3.amazonaws.com/lantern/lantern-hero-mobile.webm" type="video/webm">
    </video>
</div>
<script src="https://unpkg.com/focus-panel"></script>
<script>
    focusPanelInit();
</script>

Options

Options are specified with data attributes.

| Option name | Example | Description | | ------------------------ | ------------- | -------------------------------- | | data-background | /img/bg.jpg | An image to use as the background of the element. If omitted, uses the first child element. | data-aspect-ratio | 16:9 | The desired aspect ratio of the panel. Sets the height according to the width of the container. | data-max-height | 500 | The max height of the element, in pixels. Limits the height, regardless of aspect ratio. | data-offset | 2.0% -10.0% | The amount to offset the image by, relative to the anchor point. Tweak with dev mode. | data-anchor-point | 90.0% 50.0% | The amount to offset the image by, relative to the anchor point. Tweak with dev mode. | data-background-width | 1500 | The desired background width, in pixels. This is a minimum, it's ignored if the background must grow to fill the container. Tweak with dev mode.

All options accept mobile/desktop modifiers. For example, you can set data-aspect-ratio-mobile and data-aspect-ratio-desktop and they'll change at the breakpoint.

Workflow: tweak with dev mode

Once you've got the image panels in, with set aspect ratio, view the page with ?dev to use dev mode. Hold 'shift' and hover the mouse over a panel to select it. Then use:

| | | | ------------ | ------------------------------------------ | | mouse click | Sets the focus point relative to the container | | | Moves the image relative to the focus point | + - | Grow/shink the background

The settings you tweak can then be copied from the overlay on the panel into your HTML.