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

screenshot-with-selection

v1.0.2

Published

A zero-dependency browser-native way to take screenshots powered by the native web MediaDevices API.

Downloads

11

Readme

screenshot-with-selection

Fork of @xataio/screenshot with enhancement of capture selected area This tool uses native browser APIs to take screenshots of a given web page, tab, window, or the user's entire screen.

Demos

Pick your preference. You can easily learn about this project in the following ways:

  • Watch an explainer on YouTube.
  • See it in action on StackBlitz. You'll need to open the preview in a new window to get around extra iframe security that StackBlitz needs.
  • Read about the details on the Xata Blog.

Usage

First, you'll want to install it:

npm install screenshot-with-selection

Then, you can add it to your app and use it like so:

import {
  takeScreenshot,
  checkIfBrowserSupported,
} from "screenshot-with-selection";

/**
 * Only do this if your browser supports it.
 * To check, visit https://caniuse.com/mdn-api_mediadevices_getdisplaymedia
 */
if (checkIfBrowserSupported()) {
  takeScreenshot().then((screenshot) => {
    /**
     * This is a base64-encoded string representing your screenshot.
     * It can go directly into an <img>'s `src` attribute, or be sent to a server to store.
     */
    console.log(screenshot);
  });
}

Options

takeScreenshot accepts a few options to help you customize the user flow and the resulting image. These are:

| Option | Description | Required | Default Value | | ---------------- | --------------------------------------------------------------------------------------------------------------------- | -------- | -------------- | | quality | The quality of the final image on a scale of 0 to 1. 0 is lowest quality, 1 is highest. | nope | .7 | | onCaptureStart | An async function that does stuff when the capture starts. You'll usually want to hide any modals or anything here. | nope | | | onCaptureEnd | An async function that does stuff after capture ends. This is usually when you'll want to clean up. | nope | | | type | What kind of image do we want? Possible values are "image/jpeg", "image/png" and "image/webp". | nope | "image/jpeg" | | soundEffectURL | Why not play a little camera click sound effect when taking a screenshot? | nope | - | | height | Height of selection area or the area you want to capture | nope | - | | width | Width of selection area or the area you want to capture | nope | - | | x | coordinate x of the starting point of selection area or the area you want to capture | nope | - | | y | coordinate y of the starting point of selection area or the area you want to capture | nope | - |

Contributing

You're always welcome to open an issue if you encounter any, or even better, open a PR directly to solve issues. We don't (yet) have more contributing guidelines than this because the project is quite small. This may change as things develop.

Forked with ❤️ in India.