All Projects → bitjourney → react-simple-image

bitjourney / react-simple-image

Licence: other
responsive img tag with cleaner srcset/sizes interface.

Programming Languages

typescript
32286 projects
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to react-simple-image

cnode-react
a web app for cnode.org with react + react-router + react-redux
Stars: ✭ 23 (-20.69%)
Mutual labels:  react-components
react-semantic-render
Semantic helper components for rendering content with React.
Stars: ✭ 13 (-55.17%)
Mutual labels:  react-components
mint-ui
Design System | React UI components for web
Stars: ✭ 17 (-41.38%)
Mutual labels:  react-components
best-of-react
🏆 A ranked list of awesome React open-source libraries and tools. Updated weekly.
Stars: ✭ 364 (+1155.17%)
Mutual labels:  react-components
klyva
A state management library that follows the React component model
Stars: ✭ 53 (+82.76%)
Mutual labels:  react-components
react-jwt-auth
React JWT Authentication & Authorization example - React.js Login and Registration example
Stars: ✭ 307 (+958.62%)
Mutual labels:  react-components
frontend-toolbox
Frontend tools which we used in snappmarket v2
Stars: ✭ 37 (+27.59%)
Mutual labels:  react-components
hx
A simple, easy to use library for React development in ClojureScript.
Stars: ✭ 244 (+741.38%)
Mutual labels:  react-components
rebass
⚛️ React primitive UI components built with styled-system.
Stars: ✭ 7,844 (+26948.28%)
Mutual labels:  react-components
OpenTrivia
Multiplayer quiz game demo using React and Opentdb API
Stars: ✭ 47 (+62.07%)
Mutual labels:  react-components
Registration-and-Login-using-MERN-stack
Simple Registration and Login component with MERN stack
Stars: ✭ 210 (+624.14%)
Mutual labels:  react-components
react-sanctum
Easily hook up your React app to Laravel Sanctum and Laravel Fortify
Stars: ✭ 100 (+244.83%)
Mutual labels:  react-components
ancestor
💀 UI primitives for ReScript and React
Stars: ✭ 144 (+396.55%)
Mutual labels:  react-components
bezier-react
React components library that implements Bezier Design System.
Stars: ✭ 85 (+193.1%)
Mutual labels:  react-components
orfium-ictinus
This repo will include the building blocks to create the Orfium Parthenons to come ...
Stars: ✭ 20 (-31.03%)
Mutual labels:  react-components
dumb-bem
Simple BEM react components generator
Stars: ✭ 32 (+10.34%)
Mutual labels:  react-components
deer-ui
Deer UI 一个可插拔,轻量级的 React 组件库
Stars: ✭ 46 (+58.62%)
Mutual labels:  react-components
tiny-ui
⚛️ A friendly UI component set for React.js
Stars: ✭ 202 (+596.55%)
Mutual labels:  react-components
git-issue-react-electronjs
⚙️. ⚛️. A desktop application created with Electronjs and Reactjs to be cross-platform to manage and track GitHub issues.
Stars: ✭ 21 (-27.59%)
Mutual labels:  react-components
react-lds
⚡ React components for the Salesforce Lightning Design System
Stars: ✭ 28 (-3.45%)
Mutual labels:  react-components

react-simple-image CircleCI

react-simple-image is a React Components of <img> tag with cleaner srcset/sizes interface.

Install

npm install --save react-simple-image

or,

yarn add react-simple-image

Usage

The <Image/> component has two descriptor type:

  • alt - String : (Required) alt text
  • className - String : (Optional) additional className
  • src - String : (Required) src attribute
  • srcSet - Object : (Required) src set
    • key: descriptor - Regexp: width descriptor (e.g. 360w, 720w) or pixel descriptor (e.g. 1x, 1.5x, or 2x)
    • value: src - String: image paths/urls
  • sizes - Array : (Optional) sizez set for width descriptor
    • Object
      • size - String: image size
      • mediaCondition - String: to apply on the image size

Here are some tips:

  • As the HTML5 standard specifications says, sizes is not compatible with pixel descriptor. If you specify sizes with pixel descriptor, it is gracefully ignored.
  • width descriptor and pixel descriptor are not intended to use at the same time. If you declare both props, pixel descriptor overwrites and width descriptor props is ignored

For more information, please reach out for:

React Component

<Image
  alt='example'
  className='additional-className'
  src='example-small.png'
  srcSet={{
    '360w': 'example-small.png',
    '720w': 'example-middle.png',
    '1200w': 'example-large.png',
  }}
  sizes={[
    {size: '100vw', mediaCondition: '(max-width: 30em)'},
    {size: '50vw', mediaCondition: '(max-width: 50em)'},
    {size: 'calc(33vw - 100px)'},
  ]}
/>

Example

width descriptor

React Component

<Image
  alt='example'
  src='example-small.png'
  srcSet={{
    '360w': 'example-small.png',
    '720w': 'example-middle.png',
    '1200w': 'example-large.png',
  }}
  sizes={[
    {size: '100vw', mediaCondition: '(max-width: 30em)'},
    {size: '50vw', mediaCondition: '(max-width: 50em)'},
    {size: 'calc(33vw - 100px)'},
  ]}
/>

Rendered HTML

<img
  alt="example"
  src="example-small.png"
  srcset="example-small.png 360w,example-middle.png 720w,example-large.png 1200w"
  sizes="(max-width: 30em) 100vw,(max-width: 50em) 50vw,calc(33vw - 100px)"
  data-reactroot=""
  data-reactid="1"
  data-react-checksum="1197296813"
/>

pixel descriptor

React Component

<Image
  alt='example'
  className='additional-className'
  src='example.png'
  srcSet={{
    '1x': 'example.png',
    '2x': '[email protected]',
  }}
/>

Rendered HTML

<img
  alt="example"
  class="additional-className"
  src="example.png"
  srcset="example.png 1x,[email protected] 2x"
  data-reactroot=""
  data-reactid="1"
  data-react-checksum="1897738717"
/>

License

Copyright (c) 2016 Bit Journey, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].