@redocly/theme
Version:
Shared UI components lib
38 lines (37 loc) • 1.12 kB
TypeScript
import React from 'react';
import type { JSX } from 'react';
import type { FileTabs } from '../../components/CodeBlock/CodeBlock';
export type CodeBlockControlsProps = {
children?: React.ReactNode;
className?: string;
title?: React.ReactNode | string;
controls?: ControlItems | false;
tabs?: FileTabs;
};
type ControlItems = {
copy?: CopyControlProps;
expand?: ControlProps;
collapse?: ControlProps;
report?: ControlProps;
select?: ControlProps;
deselect?: ControlProps;
};
type ControlProps = {
hidden?: boolean;
label?: string;
tooltipText?: string;
onClick?: () => void;
props?: Record<string, any>;
};
type CopyControlProps = ControlProps & {
data?: string;
dataSource?: string;
dataHash?: string;
toasterPlacement?: 'left' | 'right' | 'top' | 'bottom';
toasterText?: string;
toasterDuration?: number;
handleOutside?: boolean;
};
export type ControlItemType = 'text' | 'icon';
export declare function CodeBlockControls({ children, className, title, controls, tabs, }: CodeBlockControlsProps): JSX.Element | null;
export {};