Coder Social home page Coder Social logo

react-imgix's Introduction

React Imgix

npm version Build Status Dependecies Status js-standard-style Code Climate

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

bg={bool}

DEPRECATED, use type='bg' instead. whether to render the image as a background of the component, defaults to false. ย  To be deprecated in v6.

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

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

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

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

Author: Frederick Fogerty

License: ISC

react-imgix's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.