1.2.1 • Published 9 months ago

collapsing-page v1.2.1

Weekly downloads
17
License
MIT
Repository
github
Last release
9 months ago

Collapsing page effect on your website

👀 Or try it yourself, by clicking on the Logout button in the demo page.

Installation

npm install --save collapsing-page

Usage

import React, { useState } from 'react';
import CollapsingPage from 'collapsing-page';

const Example = () => {
  const [collapse, setCollapse] = useState(false);

  return (
    <React.Fragment>
      <button type="button" onClick={() => setCollapse(true)}>
        Destroy page
      </button>

      <CollapsingPage collapse={collapse}>
        <div className="after-collapse">
          <h1>This will stay when everything else's gone</h1>
        </div>
      </CollapsingPage>
    </React.Fragment>
  );
};

The children of the CollapsingPage component will stay visible after the collapse.

⚠️ Note: to keep the children visible after the collapse, set their position to fixed and a z-index: -1 to make it look cool.

You can find a fully-working example in the example folder.

Props

The only prop that's required is collapse which is a boolean.
Once it's changing to true, the collapse effect starts animating.

nametypedescription
collapseboolean requiredsetting it to true triggers the collapsing animation
durationnumberthe maximum duration of the animation in milliseconds (8000 by default)
onFinishfunctiona callback function that is executed when the animation is over

Using without React

If you don't use React, you can still execute the collapsing page animation.

import { collapsePage } from 'collapsing-page';

function logout() {
  collapsePage({
    excludedElement: document.querySelector('#goodbye'),
    onFinish: function () {
      alert('See you soon!');
    }
  });
}

Parameters

nametypedescription
excludedElementDOM elementa reference to a DOM element that should stay visible after the collapse (it should be a direct child of the body, otherwise it's parents will be collapsed so it will not be visible either)
durationnumberthe maximum duration of the animation in milliseconds (8000 by default)
onFinishfunctiona callback function that is executed when the animation is over

License

MIT © Bonboarding

1.2.1

9 months ago

1.2.0

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago