- index.ts
- Functions
- Interfaces
- Types
- Enums
- Variables
function useDropdownHandler(options: RequiredUndefined<DropdownHandlerOptions>): DropdownHandlerResult;Parameters
| Name | Type |
|---|---|
| options | RequiredUndefined<DropdownHandlerOptions> |
Return type
function useDropdownOpenState(isOpen: boolean | undefined = undefined, defaultIsOpen: boolean = false): [boolean, Dispatch];Parameters
| Name | Type | Default value |
|---|---|---|
| isOpen | boolean | undefined | undefined |
| defaultIsOpen | boolean | false |
Return type
[boolean, Dispatch]
function useKeyboardKeyUp(callback: (event: KeyboardEvent) => void): void;Parameters
| Name | Type |
|---|---|
| callback | (event: KeyboardEvent) => void |
Return type
void
function useWindowClick(callback: (event: MouseEvent) => void): void;Parameters
| Name | Type |
|---|---|
| callback | (event: MouseEvent) => void |
Return type
void
interface DropdownHandlerProps extends ClassNameProps, Partial<DropdownHandlerOptions> {
children?: ReactNode;
toggleOnHeaderClick?: boolean | undefined;
closeOnSectionClick?: boolean | undefined;
}Extends
Partial<DropdownHandlerOptions>
Properties
| Name | Type | Optional |
|---|---|---|
| children | ReactNode | true |
| toggleOnHeaderClick | boolean | undefined | true |
| closeOnSectionClick | boolean | undefined | true |
interface DropdownHeaderProps extends ClassNameProps {
children?: ReactNode;
}Extends
Properties
| Name | Type | Optional |
|---|---|---|
| children | ReactNode | true |
interface DropdownSectionProps extends ClassNameProps {
children?: ReactNode;
}Extends
Properties
| Name | Type | Optional |
|---|---|---|
| children | ReactNode | true |
interface DropdownHandlerOptions {
defaultIsOpen: boolean;
isOpen: boolean;
onToggle: DropdownOnToggleHandler;
disabled: boolean;
closeOnOutsideClick: boolean;
closeOnEscapeClick: boolean;
}Properties
| Name | Type | Optional |
|---|---|---|
| defaultIsOpen | boolean | false |
| isOpen | boolean | false |
| onToggle | DropdownOnToggleHandler | false |
| disabled | boolean | false |
| closeOnOutsideClick | boolean | false |
| closeOnEscapeClick | boolean | false |
interface DropdownHandlerResult {
updateOpenState: (isOpen: boolean, eventSource: DropdownEventSource) => void;
isOpen: boolean;
containerRef: RefObject<HTMLElement | undefined>;
}Properties
| Name | Type | Optional |
|---|---|---|
| updateOpenState | (isOpen: boolean, eventSource: DropdownEventSource) => void | false |
| isOpen | boolean | false |
| containerRef | RefObject<HTMLElement | undefined> | false |
interface DropdownContextDto {
isOpen: boolean;
isDisabled: boolean;
onHeaderClick: () => void;
onSectionClick: () => void;
}Properties
| Name | Type | Optional |
|---|---|---|
| isOpen | boolean | false |
| isDisabled | boolean | false |
| onHeaderClick | () => void | false |
| onSectionClick | () => void | false |
interface ClassNameProps {
className?: string | undefined;
openClassName?: string | undefined;
closedClassName?: string | undefined;
disabledClassName?: string | undefined;
}Properties
| Name | Type | Optional |
|---|---|---|
| className | string | undefined | true |
| openClassName | string | undefined | true |
| closedClassName | string | undefined | true |
| disabledClassName | string | undefined | true |
type OpenStateUpdater = Dispatch<SetStateAction<boolean>>;Type
Dispatch<SetStateAction>
type DropdownOnToggleHandler = (isOpen: boolean, source: DropdownEventSource) => void;Type
(isOpen: boolean, source: DropdownEventSource) => void
type RequiredUndefined<TT> = {
[TKey extends keyof TT]: TT[TKey] | undefined
};Type parameters
| Name |
|---|
| TT |
Type
{ [TKey extends keyof TT]: TT[TKey] | undefined }
enum DropdownEventSource {
HeaderClick = 8,
SectionClick = 16,
OutsideClick = 24,
EscapeClick = 32,
ManualTrigger = 64
}Members
| Name | Value |
|---|---|
| HeaderClick | 8 |
| SectionClick | 16 |
| OutsideClick | 24 |
| EscapeClick | 32 |
| ManualTrigger | 64 |
const DropdownHandler: (_props: DropdownHandlerProps) => Element;Type
(_props: DropdownHandlerProps) => Element
const DropdownHeader: (props: DropdownHeaderProps) => Element;Type
(props: DropdownHeaderProps) => Element
const DropdownSection: (props: DropdownSectionProps) => Element | null;Type
(props: DropdownSectionProps) => Element | null
const DropdownContext: Context<DropdownContextDto>;Type
Context<DropdownContextDto>