import * as react_jsx_runtime from 'react/jsx-runtime'; import React$1, { ReactNode } from 'react'; interface OptionClick { /** * The label displayed for the option. * @type {string} * @required */ label: string | ReactNode; /** * The value(s) associated with the option, which can be a single string or an array of strings. * @type {Array | string} * @required */ value: any; } interface OptionType extends OptionClick { /** * The name of the icon associated with the option. * @type {string} * @optional */ icon?: string | ReactNode; iconColor?: string; name?: string | ReactNode; /** * Indicates whether the option is disabled. * @type {boolean} * @optional */ disable?: boolean; /** * To hide the option. * @type {boolean} * @optional */ hide?: boolean; tooltipForOption?: string; tooltipPlacementForOption?: 'top' | 'left' | 'right' | 'bottom' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | undefined; } interface MenuOptionProps { /** * The name of the label displayed next to the icon. * @type {string} * @optional */ labelName?: string; /** * The name of the icon to be displayed. * @type {string} * @required */ iconName: string; /** * The list of options available in the dropdown. * @type {Array} * @required */ options: Array; /** * The title displayed in the tooltip when hovering over the icon. * @type {string} * @optional */ tooltipTitle?: string; /** * The placement of the tooltip relative to the icon. * @type {'bottom' | 'left' | 'right' | 'top' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end'} * @optional */ tooltipPlacement?: 'bottom' | 'left' | 'right' | 'top' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end'; /** * The placement of the dropdown menu relative to the icon. * @type {dropdownPosition} * @optional */ dropdownPlacement?: 'top' | 'down' | 'left' | 'right' | 'bottomLeft'; /** * The variant of the menu option, either 'dark' or 'light'. * @type {'dark' | 'light'} * @default 'light' * @optional */ variant?: 'dark' | 'light'; /** * Callback function triggered when the icon is clicked. * @type {() => void} * @optional */ onClick?: () => void; /** * Callback function triggered when an option is clicked. * @param {OptionClick} option - The option that was clicked. * @type {(option: OptionClick) => void} * @optional */ onOptionClick?: (option: OptionClick) => void; /** * The size of the icon button. * @type {number} * @default 20 */ iconButtonSize?: number; /** * The size of the icon. * @type {number} * @default 16 */ iconSize?: number; /** * The border radius of the icon button. * @type {number} * @default 7 */ iconButtonBorderRadius?: number; /** * Providing z-index for the options card. * @type {number} * @optional */ zIndex?: number; /** * Variant for backgroung color of options card. * @type {string} * @optional */ optionCardVariant?: 'primary' | 'default'; targetRef?: string | React.RefObject | null; treeRowRef?: React.RefObject; isAddResourceButton?: boolean; /** * to enable or disable the options card. * @type {boolean} * @optional */ disabled?: boolean; /** position of the Menuoption*/ alignOption?: 'left' | 'right' | 'center'; displayCard?: boolean; didMouseEntered?: () => void; tableMenu?: boolean; setIsOptionClicked?: React.Dispatch>; isHoveredSetter?: (val: boolean) => void; } declare const MenuOption: ({ labelName, iconName, tooltipTitle, tooltipPlacement, options, onClick, onOptionClick, iconButtonSize, iconButtonBorderRadius, iconSize, variant, zIndex, dropdownPlacement, optionCardVariant, targetRef, treeRowRef, isAddResourceButton, disabled, alignOption, displayCard, didMouseEntered, tableMenu, setIsOptionClicked, isHoveredSetter, }: MenuOptionProps) => react_jsx_runtime.JSX.Element; /** * Props for the Add Resource Button component. * * @property {string} [id] - An optional unique identifier for the Add Resource Button. * @property {('primary' | 'secondary')} [variant] - Optional button style variant. * @property {DirectionalArrow[]} directionalArrow - An array of directional arrows, each specifying the direction and associated menu options. Default values will be provided if not passed. * @property {number} [zIndex] - An optional z-index value for positioning, defaults to 99. */ interface AddResourceButtonProps { id?: string; variant?: 'primary' | 'secondary'; directionalArrow: { /** * direction option: 'top' | 'right' | 'down' */ direction: string; menuOptions: { label: string; value: string | string[]; icon?: string; disable?: boolean; tooltipForOption?: string; tooltipPlacementForOption?: 'top' | 'left' | 'right' | 'bottom' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | undefined; }[]; }[]; zIndex?: number; treeRowRef?: React.RefObject; menuOptionZIndex?: number; onMenuOptionClick?: (option: { label: string | ReactNode; value: any; }) => void; isFromTree?: boolean; didMouseEntered?: () => void; AddResourceMouseDown?: (event?: React.MouseEvent) => void; } declare const AddResourceButton: ({ id, variant, directionalArrow, zIndex, menuOptionZIndex, treeRowRef, onMenuOptionClick, isFromTree, didMouseEntered, AddResourceMouseDown, }: AddResourceButtonProps) => react_jsx_runtime.JSX.Element; type TreeNodeProps = { executionId?: string; runId?: string; clientId?: string; status?: string; resultPercentage?: Record; reRun?: boolean; reRunFailed?: boolean; results?: boolean; reports?: boolean; createdBy?: string; modifiedBy?: string; createdByUname?: string; modifiedByUname?: string; createdOn?: string; modifiedOn?: string; state?: string; path?: string; searchKey?: string; key: string; name?: string; projectId?: string; hierarchy: number; executionOrder?: number; conditionCount?: number; subContainerCount?: number; resourceCount?: number; totalSubContainerCount?: number; totalResourceCount?: number; totalProjectElementCount?: number; totalSharedElementCount?: number; container?: boolean; localDelete?: boolean; defaultEntity?: boolean; lastResource?: boolean; lastChild?: boolean; platform?: string; parentId?: string; parentName?: string; checked?: boolean | 'partial'; expanded?: boolean; expandable?: boolean; sourceId?: string; isNewNode?: boolean; entityType?: string; lastDefaultEntity?: string; type?: string; label?: string; isShared?: boolean | string; isRecorded?: string; originalId?: string; locatorsCount?: number; version?: string; hide?: boolean; folder?: boolean; selectedStatus?: 'completely' | 'partially' | 'none'; isDelete?: boolean; reviewerId?: string; reviewerName?: string; localCopyId?: string; localAutomationId?: string; localManualId?: string; cascaded?: string; automationId?: string; manualId?: string; unselectable?: boolean; description?: string; desc?: string; expandedAll?: boolean; hideResources?: boolean; hidePreOrPost?: boolean; isScript?: boolean; stepId?: string; conditionId?: string; machInstanceId?: string; duration?: string; headless?: boolean; }; interface NewNode { sourceId?: string; payloadSourceId?: string; action?: 'addAbove' | 'addBelow' | 'addInside'; type?: 'input' | 'inputWithDropdown'; options?: []; selectedOption?: string; value?: string; error?: string; label?: string; confirmIconTooltip?: string; cancelIconTooltip?: string; firstNodeKey?: string; } declare type JSX = ReactNode | JSX.Element[] | string | null; interface ExtraSpace { actionAreaWidth?: number; extraActionWidth?: number; iconPaddingWidth?: number; } interface Adjustment { type?: 'add' | 'subtract'; valInPixels?: number; } type RootNode = { node: any; select: 'radio' | 'checkbox' | 'none'; cell?: (row: any) => JSX; actions?: (row: any, treeRowRef?: React.RefObject) => JSX; }; interface Column { name: string | JSX; accessor: string; width: string; isClickable?: boolean; cell?: (row: any) => JSX; actions?: (row: any, treeRowRef?: React.RefObject) => JSX; isTree?: boolean; defaultValue?: string; defaultActions?: () => JSX; } interface TreeTableProps { treeData: any; columnsData: Column[]; selected?: string[]; select?: 'radio' | 'checkbox' | 'none'; onChange?: (e: any, node: string[] | any) => void; onClick?: (e: React.MouseEvent, row: TreeNodeProps) => void; onExpand?: (node: TreeNodeProps) => void; loadMore?: (_direction?: string) => void; tableBorder?: string; height?: number | string; newNode?: NewNode; onAddConfirm?: (_name: string, _type?: Option) => void; onAddCancel?: () => void; loading?: boolean; rootNode?: RootNode; getContentLength?: number; handleEditFieldError?: (inputText: string) => string; pagination?: boolean; selectedNode?: string; tableHeaderBgColor?: string; hideOnDisable?: boolean; freezeColumns?: number; scriptLengthTruncate?: number; addModuleInputWidth?: number; addModuleSelectWidth?: number; onScroll?: () => void; disableEditLabelConfirmIcon?: boolean; transparentHeader?: boolean; navigateTreeNode?: string | null; handleRemoveNavigateTreeNode?: () => void; scrollThreshold?: number; drawerWidth?: number; extraSpace?: ExtraSpace; firstColAdjustments?: Adjustment; } type OptionValue = any; interface Option { [key: string]: OptionValue; } declare const TableTreeFn: React$1.ForwardRefExoticComponent>; export { AddResourceButton, MenuOption, TableTreeFn };