@minmoo/async-layers
TypeScript icon, indicating that this package has built-in type declarations

0.1.23 • Public • Published

useLayers()

npm i @minmoo/async-layers

Basic Example

import { AsyncLayersProvider, useLayers } from '@minmoo/async-layers'

export default function App() {
  return (
    <AsyncLayersProvider>
      <Example />
    </AsyncLayersProvider>
  )
}

function Example() {
  const { show } = useLayers(Content)
  return (
    <div>
      <h2>Example</h2>
      <button onClick={() => show()}>show</button>
    </div>
  )
}

function Content() {
  return <h2>Content</h2>
}

Options

default options

<AsyncLayersProvider
  options={{
    position: 'bottom', // component position: 'top', 'bottom', 'left', 'right', 'center'
    dimmed: true, // dimmed background
    transitionDelay: 350, // component animation time(ms)
    draggable: false, //only position bottom has draggable option
    dragOptions: {
      minHeight: 300, // size when the component is first shown
      minY: 80, // maximum draggable position
    },
    scrollLockElement: null, // background scroll lock element. (default: body)
  }}
>
  {children}
</AsyncLayersProvider>

useLayers(component, options)

Package Sidebar

Install

npm i @minmoo/async-layers

Weekly Downloads

0

Version

0.1.23

License

MIT

Unpacked Size

2.14 MB

Total Files

30

Last publish

Collaborators

  • minmoo