ember-lazy-responsive-image
v1.0.0
Published
Add lazy-loading and LQIP-techniques to ember-responsive-image.
Downloads
5
Keywords
Readme
ember-lazy-responsive-image
This ember-cli addon provides an ad-hoc replacement for the responsive-image component. It adds lazy-loading and LQIP (Low Quality Image Placeholder)-techniques to the ember-responsive-image addon. It integrates the lazysizes library through ember-cli-lazysizes.
See our demo page
Compatibility
- Ember.js v3.16 or above
- Ember CLI v2.13 or above
- Node.js v10 or above
Installation
ember install ember-lazy-responsive-image
Usage
The addon adds lazy-loading feature to the responsive-image component without any need for changes in your configuration.
Furthermore it extends the configuration of the ember-responsive-image addon with the new lqip
option to enable LQIP-support:
module.exports = function(environment) {
let ENV = {
'responsive-image': {
// other options...
lqip: {
type: 'inline',
width: 150,
quality: 50
}
}
}
}
Note: If you're using the responsive-background component, you have to enable the bgset
-plugin for ember-cli-lazysizes
in your ember-cli-build.js
file, see: plugins
Options
- type: The type of the LQIP, one of
inline
orremote
. If type isinline
, an placeholder-image will be generated as an base64-encoded string. There's no additional request necessary and the image is immediately available. The downside is the application size increases because the encoded image becomes part of the application code. If type isremote
, the image placeholder is one of the generated images, picked by thewidth
-option. - width: (optional) If the
type
-option isinline
, this will be the width of the inline placeholder-image. If type isremote
, this has to be one of thesupportedWidths
-option. If you omit this option, the addon choose the lowest value fromsupportedWidths
. - quality: (optional) If the
type
-option isinline
, this is the quality of the inline placeholder-image. If not set, it inherits from the base configuration. This option has no effect iftype
isremote
.
The responsive-image component
The responsive image component replaces the origin responsive-image component and supports laziness and LQIP out-of-the-box.
To disable lazyness and/or LQIP on a particular component, you can set the parameters lazy
and/or lqip
to false.
<ResponsiveImage @image="myImage.png" @lazy={{false}} @lqip={{false}}/>
The responsive-background component
Note: If you're using the responsive-background component, you have to enable the bgset
-plugin for ember-cli-lazysizes
in your ember-cli-build.js
file, see: plugins
The responsive background component replaces the origin responsive-background component and supports laziness and LQIP out-of-the-box.
Like the responsive-image component, you can disable lazyness and/or LQIP through the parameters lazy
and lqip
.
<ResponsiveBackground @image="myImage.png" @lazy={{false}} @lqip={{false}}/>
Contributing
See the Contributing guide for details.
License
This project is licensed under the MIT License.