Skip to content

mycelial-systems/lightbox

Repository files navigation

Lightbox

tests types module install size gzip size semantic versioning Common Changelog license

Lightbox web component.

See a live demo

Contents

Install

npm i -S @substrate-system/lightbox

API

This exposes ESM and common JS via package.json exports field.

ESM

import '@substrate-system/lightbox'

Common JS

require('@substrate-system/lightbox')

CSS

Import CSS

import '@substrate-system/lightbox/css'

Or minified:

import '@substrate-system/lightbox/min/css'

Example

This calls the global function customElements.define. Just import, then use the tag in your HTML. See ./example.

JS

import '@substrate-system/lightbox'

HTML

<light-box>
    <div>
        <img src="./100.jpg" alt="Bullet cat" />
    </div>
    <div>
        <img src="./20190814_102301.jpg" alt="llamas" />
    </div>
    <div>
        <img src="./cinnamon-roll.jpg" alt="Cinnamon roll cat" />
    </div>
    <div>
        <img src="./raccoons.jpg" alt="3 raccoons looking out of a storm drain" />
    </div>
</light-box>

pre-built

This package exposes minified JS and CSS files too. Copy them to a location that is accessible to your web server, then link to them in HTML.

copy

cp ./node_modules/@substrate-system/lightbox/dist/index.min.js ./public/light-box.min.js
cp ./node_modules/@substrate-system/lightbox/dist/style.min.css ./public/light-box.css

HTML

<head>
    <link rel="stylesheet" href="./light-box.css">
</head>
<body>
    <!-- ... -->
    <script type="module" src="./light-box.min.js"></script>
</body>

Test

npm test

a11y Tests

npm run test:a11y