Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | import { PopoverOrigin, SxProps } from "@mui/material";
import { Icon, IconProps } from "@phosphor-icons/react";
import { TEmptyStateWrapperSection } from "@shared/EmptyState/types";
import { GiveSearchBarProps } from "@shared/SearchBar/GiveSearchBar";
import React, { ReactNode } from "react";
import { ArrowPlacement } from "@shared/Tooltip/GiveTooltip.types";
export type ContextualMenuOptionProps = {
type?: "default" | "destructive" | "label" | "divider" | "success";
text: string;
description?: string | ReactNode;
trailingText?: string;
disabled?: boolean;
onClick?: (
event: React.MouseEvent<HTMLDivElement>,
text?: string | number,
) => void;
IconLeft?: Icon | React.FC<IconProps>;
IconRight?: Icon | React.FC<IconProps>;
Image?: ReactNode;
hidden?: boolean;
handleClose?: () => void;
isSelected?: boolean;
id?: string | number;
checkedIconType?: "Plus" | "Check";
tooltipTitle?: string;
tooltipHeading?: string;
disableTooltip?: boolean;
tooltipDirection?: ArrowPlacement;
showRightIconOnHover?: boolean;
shouldDefaultCursor?: boolean;
scrollRef?: any;
isMultiSelect?: boolean;
noCloseOnClick?: boolean;
showCheckedIcon?: boolean;
sx?: SxProps;
triggerClickOnHover?: boolean;
};
export interface ContextualMenuProps {
anchorEl?: HTMLElement | null;
handleClose?: () => void;
color: "primary" | "secondary" | "tertiary" | "transparent";
texture: "solid" | "blurred";
options: Omit<ContextualMenuOptionProps, "children">[];
menuWidth?: number | string;
searchBarProps?: GiveSearchBarProps;
Header?: ReactNode;
horizontalOrigin?: "left" | "right" | "center";
anchorOrigin?: PopoverOrigin;
transformOrigin?: PopoverOrigin;
onCloseEmptyState?: () => void;
emptySection?: TEmptyStateWrapperSection;
isLoading?: boolean;
customPaperStyle?: SxProps;
customContent?: React.ReactNode;
useVirtualList?: boolean; // Virtuoso will be used on ContextualMenu
height?: string | number;
onEndReached?: (index?: number) => void;
showEmptySectionWhenNoData?: boolean;
isMultiSelect?: boolean;
optionsHeader?: React.ReactElement;
isFetchingNextPage?: boolean;
anchorOriginVertical?: "center" | "bottom" | "top";
transformOriginVertical?: "center" | "bottom" | "top";
drawerZIndex?: number;
}
|