1.1.1 • Published 10 months ago

react-smooth-slide-toggle v1.1.1

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

Smooth slide Toggle React

slide-toggle-react is a React component that provides a smooth slide animation for showing and hiding content. It allows you to easily create collapsible elements with customizable duration and easing functions.

Installation

You can install the package using npm:

npm install  react-smooth-slide-toggle

Demo

Usage

import React from 'react';
import { SlideToggle } from 'react-smooth-slide-toggle';

const App = () => {
  return (
    <SlideToggle trigger={<button>Toggle Content</button>}>
      <div>
        <p>This content will slide in and out when the button is clicked.</p>
      </div>
    </SlideToggle>
  );
};

export default App;

Props

The SlideToggle component accepts the following props:

trigger: (required) React element that serves as the trigger for the slide animation. When this element is clicked, the content will slide in or out.

easing: (optional) Specifies the easing function to be used for the slide animation. Available options are:

  'easeLinear'  Default
  'easeInQuad'
  'easeOutQuad'
  'easeInOutQuad'
  'easeInCubic'
  'easeOutCubic'
  'easeInOutCubic'
  'easeInQuart'
  'easeOutQuart'
  'easeInOutQuart'
  'easeInQuint'
  'easeOutQuint'
  easeInOutQuint'

duration: (optional) The duration of the slide animation in milliseconds. Default is 700ms.

expanded: (optional) If set to true, the content will be initially shown. If set to false, the content will be initially hidden. Default is false.

callBack: (optional) A callback function that will be called after the slide animation is completed.

API Reference

SlideToggle

A React component that handles slide animations for showing and hiding content.

getTotalHeightWithMargins(element: HTMLElement): number 

A utility function to calculate the total height of an element, considering its height and top and bottom margins.

Example with Custom Easing and Duration

import React from 'react';
import { SlideToggle } from 'react-smooth-slide-toggle';

const App = () => {
  return (
    <SlideToggle
      trigger={<button>Toggle Content</button>}
      easing="easeOutQuad"
      duration={1000}
      expanded={true}
    >
      <div>
        <p>This content will slide in and out with a custom easing and duration.</p>
      </div>
    </SlideToggle>
  );
};

export default App;

Contribution

Contributions are welcome! If you find any issues or have suggestions for improvements, feel free to create a pull request or open an issue on GitHub.

License

This project is licensed under the MIT License.

1.1.1

10 months ago

1.1.7

10 months ago

1.1.6

10 months ago

1.1.0

10 months ago

1.0.6

10 months ago

1.0.5

10 months ago

1.0.4

10 months ago

1.0.3

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago