import { useListboxContext } from "./listbox-context";
import { ListboxGroup } from "./listbox-group";
import { ListboxGroupLabel } from "./listbox-group-label";
import { ListboxItem } from "./listbox-item";
import { ListboxRoot } from "./listbox-root";

export const Listbox = Object.assign(ListboxRoot, {
  Item: ListboxItem,
  Group: ListboxGroup,
  GroupLabel: ListboxGroupLabel,
  useContext: useListboxContext,
});

export type { ListboxGroupProps } from "./listbox-group";
export type { ListboxGroupLabelProps } from "./listbox-group-label";
export type { ListboxContextValue } from "./listbox-context";
export { ListboxRootPropsSchema, ListboxItemPropsSchema, ListboxMeta } from "./listbox.props";
export type { ListboxRootProps, ListboxItemProps } from "./listbox.props";
