1.1.0 • Published 2 years ago

@graphcms/react-image v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago
  • Resize large images to the size needed by your design.
  • Generate multiple smaller images to make sure devices download the optimal-sized one.
  • Automatically compress and optimize your image with the powerful Filestack API.
  • Efficiently lazy load images to speed initial page load and save bandwidth.
  • Use the "blur-up" technique or solid background color to show a preview of the image while it loads.
  • Hold the image position so your page doesn't jump while images load.

Quickstart

Here's an example using a static asset object.

import React from "react";
import Image from "@graphcms/react-image";

const IndexPage = () => {
  const asset = {
    handle: "uQrLj1QRWKJnlQv1sEmC",
    width: 800,
    height: 800
  }
  
  return <Image image={asset} maxWidth={800} />
}

Install

npm install @graphcms/react-image

Props

NameTypeDescription
imageobjectAn object of shape { handle, width, height }. Handle is an identifier required to display the image and both width and height are required to display a correct placeholder and aspect ratio for the image. You can get all 3 by just putting all 3 in your image-getting query.
maxWidthnumberMaximum width you'd like your image to take up. (ex. If your image container is resizing dynamically up to a width of 1200, put it as a maxWidth)
fadeInboolDo you want your image to fade in on load? Defaults to true
fit"clip"\|"crop"\|"scale"\|"max"When resizing the image, how would you like it to fit the new dimensions? Defaults to crop. You can read more about resizing here
withWebpboolIf webp is supported by the browser, the images will be served with .webp extension. (Recommended)
transformsarrayArray of strings, each representing a separate Filestack transform, eg. ['sharpen=amount:5', 'quality=value:75']
titlestringPassed to the img element
altstringPassed to the img element
classNamestring\|objectPassed to the wrapper div. Object is needed to support Glamor's css prop
outerWrapperClassNamestring\|objectPassed to the outer wrapper div. Object is needed to support Glamor's css prop
styleobjectSpread into the default styles in the wrapper div
positionstringDefaults to relative. Pass in absolute to make the component absolute positioned
blurryPlaceholderboolWould you like to display a blurry placeholder for your loading image? Defaults to true.
backgroundColorstring\|boolSet a colored background placeholder. If true, uses "lightgray" for the color. You can also pass in any valid color string.
onLoadfuncA callback that is called when the full-size image has loaded.
baseURIstringSet the base src from where the images are requested. Base URI Defaults to https://media.graphassets.com