sifrr-elements
sifrr-dom elements
List of Elements:
View examples
Examples as showcase: https://sifrr.github.io/sifrr-elements/showcase/ (only desktop friendly)
Packages that have tests have a working example of that package in test/public
folder
Usage
Using direct distribution file
Script tag
// load sifrr-dom
<script src="https://unpkg.com/@sifrr/sifrr@{version}/packages/browser/sifrr-dom/dist/sifrr.dom.min.js"></script>
// load element you want to add
<script src="https://unpkg.com/@sifrr/elements@{version}/elements/element-name/dist/elementname.min.js"></script>
// for v0.0.3, version = 0.0.3
Script Module tag
// load sifrr-dom
<script src="https://unpkg.com/@sifrr/sifrr@{version}/packages/browser/sifrr-dom/dist/sifrr.dom.module.js" type="module"></script>
// load element you want to add
<script src="https://unpkg.com/@sifrr/elements@{version}/elements/element-name/dist/elementname.module.js" type="module"></script>
// for v0.0.3, version = 0.0.3
Sifrr.Dom.load
Sifrr.Dom.load('element-name', { url: "https://unpkg.com/@sifrr/elements@{version}/elements/element-name/dist/elementname.min.js" })
NPM module
add @sifrr/elements
package, yarn add @sifrr/elements
require/import needed elements
const SifrrDom = require('@sifrr/dom');
const { SifrrLazyPicture } = require('@sifrr/elements');
import SifrrDom from '@sifrr/dom';
import { SifrrLazyPicture } from '@sifrr/elements';
SifrrDom.register(SifrrLazyPicture);
Helpers
LazyLoader
Since lazy-image and lazy-picture doesn't work with safari, you can simply use LazyLoader helper to lazy load native images and pictures.
Lazy loads a image when it is near viewport, using data-src and data-srcset.
usage:
import { LazyLoader } from '@sifrr/elements';
const lazyLoader = new LazyLoader(rootMargin );
lazyLoader.observe(document.querySelector('.lazy'));
document.querySelectorAll('.lazy').forEach(lazyLoader.observe);
License
sifrr-elements is MIT Licensed.

(c) @aadityataparia