@gulibs/vgrove-ui
Version:
VGrove UI component library built with HeroUI and React
66 lines • 2.48 kB
TypeScript
import type { SlotsToClasses } from '@heroui/react';
import type { Key } from '@react-types/shared';
export type Selection = Set<Key> | "all";
export interface ListboxProps {
children: React.ReactNode;
as?: React.ElementType;
selectionMode?: 'none' | 'single' | 'multiple';
onKeyDown?: (event: React.KeyboardEvent) => void;
selectedKeys?: Selection;
disabledKeys?: Key[];
onSelectionChange?: (keys: Selection) => void;
onAction?: (key: Key) => void;
hideSelectedIcon?: boolean;
disallowEmptySelection?: boolean;
variant?: 'solid' | 'bordered' | 'light' | 'flat' | 'faded' | 'shadow';
color?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
topContent?: React.ReactNode;
bottomContent?: React.ReactNode;
emptyContent?: React.ReactNode;
className?: string;
classNames?: SlotsToClasses<"base" | "list" | "emptyContent">;
itemClasses?: SlotsToClasses<"base" | "wrapper" | "title" | "description" | "selectedIcon" | "badge">;
}
export interface ListboxItemProps {
children?: React.ReactNode;
key?: Key;
title?: string | React.ReactNode;
description?: string | React.ReactNode;
textValue?: string;
startContent?: React.ReactNode;
endContent?: React.ReactNode;
selectedIcon?: React.ReactNode;
badge?: React.ReactNode;
badgePlacement?: 'left' | 'right' | 'top' | 'bottom';
isDisabled?: boolean;
isSelected?: boolean;
hideSelectedIcon?: boolean;
showDivider?: boolean;
href?: string;
target?: string;
className?: string;
classNames?: SlotsToClasses<"base" | "wrapper" | "title" | "description" | "selectedIcon" | "badge" | "startContent" | "endContent">;
onAction?: () => void;
onClick?: (e: React.MouseEvent) => void;
onKeyDown?: (e: React.KeyboardEvent) => void;
}
export interface ListboxSectionProps {
children: React.ReactNode;
title?: string;
showDivider?: boolean;
className?: string;
classNames?: SlotsToClasses<"base" | "heading" | "group" | "divider">;
}
export interface ListboxContextValue {
selectionMode?: 'none' | 'single' | 'multiple';
selectedKeys?: Selection;
disabledKeys?: Key[];
hideSelectedIcon?: boolean;
disallowEmptySelection?: boolean;
variant?: string;
color?: string;
itemClasses?: ListboxProps['itemClasses'];
onSelectionChange?: (keys: Selection) => void;
onAction?: (key: Key) => void;
}
//# sourceMappingURL=types.d.ts.map