UNPKG

896 BPlain TextView Raw
1import { createComponent } from "reakit-system/createComponent";
2import { createHook } from "reakit-system/createHook";
3import {
4 DialogBackdropOptions,
5 DialogBackdropHTMLProps,
6 useDialogBackdrop,
7} from "../Dialog/DialogBackdrop";
8import { POPOVER_BACKDROP_KEYS } from "./__keys";
9
10export type PopoverBackdropOptions = DialogBackdropOptions;
11
12export type PopoverBackdropHTMLProps = DialogBackdropHTMLProps;
13
14export type PopoverBackdropProps = PopoverBackdropOptions &
15 PopoverBackdropHTMLProps;
16
17export const usePopoverBackdrop = createHook<
18 PopoverBackdropOptions,
19 PopoverBackdropHTMLProps
20>({
21 name: "PopoverBackdrop",
22 compose: useDialogBackdrop,
23 keys: POPOVER_BACKDROP_KEYS,
24
25 useOptions({ modal = false, ...options }) {
26 return { modal, ...options };
27 },
28});
29
30export const PopoverBackdrop = createComponent({
31 as: "div",
32 memo: true,
33 useHook: usePopoverBackdrop,
34});