JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9
  • Score
    100M100P100Q50608F
  • License MIT

Package Exports

  • @niceoutside/curtain
  • @niceoutside/curtain/dist/cjs/main.js
  • @niceoutside/curtain/dist/esm/main.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@niceoutside/curtain) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Curtain

TODOs

  • use transform/translate for better performance
  • create supporting packages
    • svelte (not needed, can be used directly)
    • react
    • vue
    • angular

Installation

npm i @niceoutside/curtain

Usage

Add a curtain

To add a curtain reveal effect to a node, attach a curtain to the HTML node.

import { CurtainPole } from './CurtainPole';

const pole = new CurtainPole();
const curtain = document.getElementById('curtain');

pole.hang(curtain);

Remove a curtain

You can remove a curtain by calling the following method:

const curtain = document.getElementById('curtain');

pole.takeDown(curtain);

Clean up

To remove everything at once, you can call the destroy method:

pole.destroy();

Configuration

color (string)

The color property defines the color of the curtain.

pole.hang(curtainGreen, { color: 'green');
pole.hang(curtainBlack, { color: '#000');

yOffset (number)

The yOffset defines an offset factor for the y axis. Default is 0 - no offset.

Example: If the factor is -0.2 the curtain will be fully lifted 20% before the corresponding div reaches the top.

Example 2: If the factor is 0.5 the curtain will still hang 50% when the correspondig div reaches the top.

pole.hang(curtain, { yOffset: 0.5 });

anchors

It is possible to shift the anchor points of the curtain:

pole.hang(curtain, { anchors: { top: '10px', bottom: '10px', left: '5px', right: '5px' });