0.1.0 • Published 6 years ago

emg v0.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

emg

MIT LICENSE npm package npm package

A simple, enhanced react image component with loading spinner, fallback support and others.

Examples

see the examples

Features

  • lazy loading
  • loading indicator
  • error handler and fallback placeholder

Installing

Using command line:

$ yarn add emg
# or
$ npm i -S emg

Using cdn:

<script src="//unpkg.com/emg/dist/emg.umd.js"></script>

Usage

import Emg as Img from 'emg';

class Example extends React.Component{
  public render(){
    return <Img src="url/for/image"/>
  }
}

Options

  • className: class name
    • type: string
  • src: url of the image to load
    • type: string
  • alt: alt for the image
    • type: string
  • title: title attribute for the image
    • type: string
  • style: inline style for the image
    • type: React.CSSProperties
  • loadingImg: show while image loading
    • type: string
  • loadErrImg: show when failed to load the image
    • type: string
  • fallbackImg: instead of showing an error image, show this fallback one
    • type: string
  • isLazyLoad: whether lazy load or not. enable only when IntersectionObserver is supported
    • type: boolean
    • default: false
  • onLoad: onload handler
    • type: (event: Event) => void
  • onError: onerror handler
    • type: (event: Event) => void

Development

For development, clone this repo then

$ yarn install && yarn start

this will start a local server then open browser and go to http://localhost:3000 to see examples in action.

available scripts:

  • build: generate budnles that are ready to publish
  • dev: start local server for local development
  • lint: run tslint & stylelint

TODO

  • add test, unit and e2e
  • dont bail on warning

Acknowledgement

Lazy load

Lazy load using the modern IntersectionObserver api.

For more info you can read Lazy Loading Images and Video from WebFundamentals.