An open API service indexing awesome lists of open source software.

https://github.com/huozhi/react-overlay-trigger

Auto repositioning overlay component for react
https://github.com/huozhi/react-overlay-trigger

auto-reposition overlay position react-component tooltip

Last synced: about 1 year ago
JSON representation

Auto repositioning overlay component for react

Awesome Lists containing this project

README

          

# React Overlay Trigger
> Tiny and simple popover library for React

[![npm version](https://img.shields.io/npm/v/react-overlay-trigger.svg?style=flat-square)](https://www.npmjs.com/package/react-overlay-trigger)
[![npm bundle size](https://img.shields.io/bundlephobia/minzip/react-overlay-trigger?style=flat-square)](https://bundlephobia.com/result?p=react-overlay-trigger)

Checkout [Website](https://react-overlay-trigger.vercel.app) for more details.

## Installation

```sh
npm i -S react-overlay-trigger
```

## Usage

```js
import { usePopover } from 'react-overlay-trigger'

const App = () => {
const { popover, triggerProps } = usePopover({
placement: 'top',
hoverToggle: true,
})

return (


{popover}
hover me

)
}
```

## API

```tsx
usePopover(
popover: ReactNode,
options: {
clickToggle?: boolean
hoverToggle?: boolean
focusToggle?: boolean
container?: HTMLElement
placement: PlacementType
arrowProps?: { size: number }
defaultOpen?: boolean
delayDuration?: number
}
): {
popover: ReactNode
isOpen: boolean
triggerProps: {
ref: RefCallback
onMouseEnter?: (e: MouseEvent) => void
onMouseLeave?: (e: MouseEvent) => void
onPointerEnter?: (e: PointerEvent) => void
onPointerLeave?: (e: PointerEvent) => void
onFocus?: (e: FocusEvent) => void
onBlur?: (e: FocusEvent) => void
onClick?: (e: MouseEvent) => void
}
}
```

## License

MIT