@carbon/ibm-products
Version:
Carbon for IBM Products
83 lines (82 loc) • 2.56 kB
TypeScript
/**
* Copyright IBM Corp. 2024
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
import React, { PropsWithChildren, ReactNode, Ref } from 'react';
import { CarbonIconType } from '@carbon/react/icons';
import { Condition, Action, Option, ConfigType } from '../ConditionBuilder.types';
interface ConditionBuilderItemProps extends PropsWithChildren {
className?: string;
label?: string | Option | Option[];
renderIcon?: CarbonIconType;
title?: string;
showToolTip?: boolean;
popOverClassName?: string;
type?: string;
description?: string;
condition?: Action & Condition;
config?: ConfigType;
renderChildren?: (ref: Ref<HTMLDivElement>) => ReactNode;
onChange?: (val: string) => void;
tabIndex?: number;
onMouseEnter?: (e: React.MouseEvent<HTMLButtonElement>) => void;
onMouseLeave?: (e: React.MouseEvent<HTMLButtonElement>) => void;
onFocus?: React.FocusEventHandler<HTMLButtonElement>;
onBlur?: React.FocusEventHandler<HTMLButtonElement>;
}
export declare const ConditionBuilderItem: {
({ children, className, label, renderIcon, title, type, showToolTip, condition, popOverClassName, config, renderChildren, onChange, description, ...rest }: ConditionBuilderItemProps): React.JSX.Element;
propTypes: {
/**
* provide the contents of the popover
*/
children: any;
/**
* Provide an optional class to be applied to the containing node.
*/
className: any;
/**
* current condition state object
*/
condition: any;
/**
* this is the config object again the current property from inputConfig
*/
config: any;
/**
* text to be displayed in the field
*/
label: any;
/**
* callback to update the current condition of the state tree
*/
onChange: any;
/**
* class name for popover
*/
popOverClassName: any;
/**
* callback prop that returns the jsx for children
*/
renderChildren: any;
/**
* Optional prop to allow overriding the icon rendering.
*/
renderIcon: any;
/**
* show tool tip
*/
showToolTip: any;
/**
* title of the popover
*/
title: any;
/**
* input type
*/
type: any;
};
};
export {};