UNPKG

925 BPlain TextView Raw
1import { createComponent } from "reakit-system/createComponent";
2import { createHook } from "reakit-system/createHook";
3import {
4 SeparatorOptions,
5 SeparatorHTMLProps,
6 useSeparator,
7} from "../Separator/Separator";
8import { MENU_SEPARATOR_KEYS } from "./__keys";
9
10export type MenuSeparatorOptions = SeparatorOptions;
11
12export type MenuSeparatorHTMLProps = SeparatorHTMLProps;
13
14export type MenuSeparatorProps = MenuSeparatorOptions & MenuSeparatorHTMLProps;
15
16export const useMenuSeparator = createHook<
17 MenuSeparatorOptions,
18 MenuSeparatorHTMLProps
19>({
20 name: "MenuSeparator",
21 compose: useSeparator,
22 keys: MENU_SEPARATOR_KEYS,
23
24 useOptions({ orientation = "vertical", ...options }) {
25 return {
26 orientation: orientation === "vertical" ? "horizontal" : "vertical",
27 ...options,
28 };
29 },
30});
31
32export const MenuSeparator = createComponent({
33 as: "hr",
34 memo: true,
35 useHook: useMenuSeparator,
36});