@carbon/ibm-products
Version:
Carbon for IBM Products
53 lines (52 loc) • 1.89 kB
TypeScript
/**
* Copyright IBM Corp. 2020, 2022
*
* 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 { OverflowMenuItem } from '@carbon/react';
import React, { PropsWithChildren, ReactNode } from 'react';
interface Action {
renderIcon?: React.ElementType;
onClick: () => void;
iconDescription: string;
}
export interface WebTerminalProps extends PropsWithChildren {
/**
* Provide your own terminal component as children to show up in the web terminal
*/
children: ReactNode;
/**
* An array of actions to be displayed in the web terminal header bar
*/
actions?: readonly Action[];
/**
* Custom classname for additional styling of the web terminal
*/
className?: string;
/**
* Icon description for the close button
*/
closeIconDescription: string;
/**
* Array of objects for each documentation link. Each documentation link uses the prop types of OverflowMenuItems. See more: https://react.carbondesignsystem.com/?path=/docs/components-overflowmenu--default
*/
documentationLinks?: readonly (typeof OverflowMenuItem)[];
/**
* Description for the documentation link overflow menu tooltip
*/
documentationLinksIconDescription?: string;
/**
* Optionally pass if the web terminal should be open by default
*/
isInitiallyOpen?: boolean;
/**
* Specifies aria label for Web terminal
*/
webTerminalAriaLabel?: string;
}
/**
* The `WebTerminal` is prompted by the user and is persistent until dismissed. The purpose of a web terminal is to provide users with the ability to type commands manually instead of using the GUI.
*/
export declare let WebTerminal: React.ForwardRefExoticComponent<WebTerminalProps & React.RefAttributes<HTMLDivElement>>;
export {};