UNPKG

837 BPlain TextView Raw
1import { createComponent } from "reakit-system/createComponent";
2import { createHook } from "reakit-system/createHook";
3import {
4 PopoverArrowOptions,
5 PopoverArrowHTMLProps,
6 usePopoverArrow,
7} from "../Popover/PopoverArrow";
8import { TOOLTIP_ARROW_KEYS } from "./__keys";
9
10export type TooltipArrowOptions = PopoverArrowOptions;
11
12export type TooltipArrowHTMLProps = PopoverArrowHTMLProps;
13
14export type TooltipArrowProps = TooltipArrowOptions & TooltipArrowHTMLProps;
15
16export const useTooltipArrow = createHook<
17 TooltipArrowOptions,
18 TooltipArrowHTMLProps
19>({
20 name: "TooltipArrow",
21 compose: usePopoverArrow,
22 keys: TOOLTIP_ARROW_KEYS,
23
24 useOptions({ size = 16, ...options }) {
25 return { size, ...options };
26 },
27});
28
29export const TooltipArrow = createComponent({
30 as: "div",
31 memo: true,
32 useHook: useTooltipArrow,
33});