reakit
Version:
Toolkit for building accessible rich web apps with React
30 lines (24 loc) • 755 B
text/typescript
import { createComponent } from "reakit-system/createComponent";
import { createHook } from "reakit-system/createHook";
import {
CompositeItemOptions,
CompositeItemHTMLProps,
useCompositeItem,
} from "../Composite/CompositeItem";
import { TOOLBAR_ITEM_KEYS } from "./__keys";
export type ToolbarItemOptions = CompositeItemOptions;
export type ToolbarItemHTMLProps = CompositeItemHTMLProps;
export type ToolbarItemProps = ToolbarItemOptions & ToolbarItemHTMLProps;
export const useToolbarItem = createHook<
ToolbarItemOptions,
ToolbarItemHTMLProps
>({
name: "ToolbarItem",
compose: useCompositeItem,
keys: TOOLBAR_ITEM_KEYS,
});
export const ToolbarItem = createComponent({
as: "button",
memo: true,
useHook: useToolbarItem,
});