1.0.3 • Published 1 year ago

react-ts-full-page-door v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

react-ts-full-page-door

A React library written in TypeScript for creating smooth full-page door animations to switch between components.

NPM version Build npm-typescriptLicense]github-license-url

Live Demo

Installation

To install the library, run the following command in your project directory:

npm install react-ts-full-page-door

Usage

Please refer to the example section for a complete usage example.

API

Wrap your app with the FullPageDoorChangeProvider and use the useDoorAnimation hook to get access to the startAnimation function. The startAnimation function accepts the following parameters:

ParameterTypeDescriptionRequiredDefault Value
subContentReactNodeNew content to display after the animationYes-
doorContentReactElementContent to display on the doors during the animationNo-
doorOptionsPartialObject containing options for customizing the door animationNoSee below

DoorOptions

The DoorOptions object has the following properties:

PropertyTypeDescriptionDefault Value
colorstringBackground color of the doors'#1c2d4f'
closingDurationnumberDuration of the door closing animation (ms)500
openingDurationnumberDuration of the door opening animation (ms)500
closedDurationnumberDuration the doors will remain closed (ms)1000

Example

import React from 'react'
import { FullPageDoorChangeProvider, useDoorAnimation } from 'react-ts-full-page-door'

const MyApp = () => {
  const { startAnimation } = useDoorAnimation()

  const handleClick = () => {
    startAnimation(
      <div>New content to display</div>,
      <div>Door content</div>,
      { color: '#FF0000', closingDuration: 1000, openingDuration: 1000, closedDuration: 2000 },
    )
  }

  return (
    <div>
      <button onClick={handleClick}>Start animation</button>
    </div>
  )
}

const App = () => {
  return (
    <FullPageDoorChangeProvider>
      <MyApp />
    </FullPageDoorChangeProvider>
  )
}

export default App

License

This project is licensed under the MIT License. See the LICENSE file for details.


If you find any issues or have suggestions, please feel free to open an issue on the GitHub repository. Contributions are always welcome!

1.0.3

1 year ago

0.1.0

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago