0.1.5 • Published 2 years ago

@assetcrush/reactjs-sdk v0.1.5

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

assetcrush

A simple reactjs library to resize image on fly.

What is assetcrush ?

assetcrush is an image resize service for on the fly dynamic resize. If your users are uploading images of various sizes and then you are consuming those images on different devices then this service is ideal for your use. Since every device has different dimensions our sdk will make sure to get the rightly resized image for you via assetcrush resize service.

Installation

npm i -S @assetcrush/reactjs-sdk

or with yarn

yarn add @assetcrush/reactjs-sdk

Usage

setKey

Place this in your index.js file, this needs to be loaded once at initialization. Get your key by signing up on console.assetcrush.com

import { setKey } from "@assetcrush/reactjs-sdk";

setKey("test-key");

ImageCrush

Basic usage of Imagecrush pass width, height and url and let the magic happens.

import React from "react";
import { ImageCrush } from "@assetcrush/reactjs-sdk";

const testUrl =
  "https://cdn.pixabay.com/photo/2021/12/11/07/59/hotel-6862159__340.jpg";

function App() {
  return (
    <div style={{ width: 50, height: 50 }}>
      <ImageCrush url={testUrl} width={50} height={50} />
    </div>
  );
}

export default App;

Props

PropTypeRequiredNote
urlstringyesimage url
widthstringnowidth of image
heightstringnoheight of image
animatedboolnoimage fade in effect
reloadIconColorstringnocolor of reload icon if image fails
spinnerIconstringnospinner component icon while image loads
spinnerColorstringnocolor of spinner
hideSpinnerboolnorender spinner while image loads or not
onErrorfuncnoif image fails to load (returns error details)
onLoadfuncnoif image loads successfully (returns image headers)

Any additional props are passed down to underlying <img /> element.

ImageCrushAdoptive

Its the more adoptive method to use you don't need to pass width and height it will inherit width and height from outermost wrapped div

import React from "react";
import { ImageCrushAdoptive } from "@assetcrush/reactjs-sdk";

const testUrl =
  "https://cdn.pixabay.com/photo/2021/12/11/07/59/hotel-6862159__340.jpg";

function App() {
  return (
    <div style={{ width: 50, height: 50 }}>
      <ImageCrushAdoptive url={testUrl} />
    </div>
  );
}

export default App;

Props

PropTypeRequiredNote
backgroundColorstringnocolor of background layer of image
debouncenumbernoimage layout handler debounce
wrapperStyleobjectnostyle object for outermost div
urlstringyesimage url
widthstringnowidth of image
heightstringnoheight of image
animatedboolnoimage fade in effect
reloadIconColorstringnocolor of reload icon if image fails
spinnerIconstringnospinner component icon while image loads
spinnerColorstringnocolor of spinner
hideSpinnerboolnorender spinner while image loads or not
onErrorfuncnoif image fails to load (returns error details)
onLoadfuncnoif image loads successfully (returns image headers)
headersobjectnoCustom headers for image

Any additional props are passed down to underlying <img /> component.

Run example

git clone https://github.com/assetcrush/reactjs-sdk.git
cd reactjs-sdk/example
yarn install # or npm install


export default App;

to run with npm

npm start

to run with yarn

yarn start

Testing with Jest

Make sure to add jest.useFakeTimers(); to your test file. See Stackoverflow post and jest timer mocks

Seeing issues or any feedback or feature suggest ?

Create an issue with github.

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.0

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.0.9

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago