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

react-imgix-hb

v7.1.2

Published

React Component for displaying an image from Imgix

Downloads

5

Readme

React Imgix

npm version Build Status Dependencies Status Code Climate styled with prettier

A React component that renders images using the Imgix API. It uses the smallest images possible, and does cool stuff, like cropping to faces by default.

Usage

import Imgix from 'react-imgix'

<Imgix src={string} />

Props

src={string}

required, usually in the form: https://[your_domain].imgix.net/[image]. Don't include any parameters.

aggressiveLoad={bool}

whether to wait until the component has mounted to render the image, useful for auto-sizing and server-side rendering, defaults to false

auto={array}

array of values to pass to Imgix's auto param, defaults to ['format']

type={string}

what kind of component to render, one of img, bg, picture, source. Defaults to img

component={string}

wrapper component to use when rendering a bg, defaults to div

className={string}

className applied to top level component. To set className on the image itself see imgProps.

entropy={bool}

whether or not to crop using points of interest. See Imgix API for more details. Defaults to false

faces={bool}

whether to crop to faces, defaults to true

crop={string}

sets specific crop, overriding faces and entropy flags. Useful for specifying fallbacks for faces like faces,top,right

fit={string}

see Imgix's API, defaults to crop

fluid={bool}

whether to fit the image requested to the size of the component rendered, defaults to true

onMounted={func}

called on componentDidMount with the mounted DOM node as an argument

precision={number}

round to nearest x for image width and height, useful for caching, defaults to 100

height={number}

force images to be a certain height, overrides precision

width={number}

force images to be a certain width, overrides precision

defaultHeight={number}

fallback height for images, useful for SSR or static site generation

defaultWidth={number}

fallback width for images, useful for SSR or static site generation

generateSrcSet={bool}

generate 2x and 3x src sets when using an <img> tag. Defaults to true

customParams={object}

any other Imgix params to add to the image src

For example:

<Imgix
    customParams={{mask: 'ellipse'}}
/>

imgProps={object}

any other attributes to add to the html node (example: alt, data-*, className)

Note: if you use type='bg' the css property background-size is set to 'cover' by default. To override this behaviour you can change the background size by overriding it with a string such as 'contain', or to null for controlling the style with CSS.

<Imgix
    src={src}
    type='bg'
    imgProps={{style: {backgroundSize: 'contain'}}}
/>

Picture Support

Using the element you can create responsive images:

<Imgix src={src} type='picture'>
  <Imgix src={src} width={400} type='source' imgProps={{media: '(min-width: 768px)'}}/>
  <Imgix src={src} width={200} type='source' imgProps={{media: '(min-width: 320px)'}}/>
  <Imgix src={src} width={100} type='img' />
</Imgix>

The final type='img' component will be created with the options passed into the parent <picture> container if it's not provided so the above is equivalent to:

<Imgix src={src} width={100} type='picture'>
  <Imgix src={src} width={400} type='source' imgProps={{media: '(min-width: 768px)'}}/>
  <Imgix src={src} width={200} type='source' imgProps={{media: '(min-width: 320px)'}}/>
</Imgix>

Installation

With npm:

npm install --save react-imgix

With yarn:

yarn add react-imgix

Contributing

Cutting a release

Ensure all commits are correctly described using the Conventional Commits Specification


npm run release
git push --follow-tags origin master; npm publish

Author: Frederick Fogerty

License: ISC