UNPKG

654 BPlain TextView Raw
1import { createComponent } from "reakit-system/createComponent";
2import { createHook } from "reakit-system/createHook";
3import { RoleOptions, RoleHTMLProps, useRole } from "../Role/Role";
4import { GROUP_KEYS } from "./__keys";
5
6export type GroupOptions = RoleOptions;
7
8export type GroupHTMLProps = RoleHTMLProps;
9
10export type GroupProps = GroupOptions & GroupHTMLProps;
11
12export const useGroup = createHook<GroupOptions, GroupHTMLProps>({
13 name: "Group",
14 compose: useRole,
15 keys: GROUP_KEYS,
16
17 useProps(_, htmlProps) {
18 return { role: "group", ...htmlProps };
19 },
20});
21
22export const Group = createComponent({
23 as: "div",
24 useHook: useGroup,
25});