UNPKG

@neo4j-ndl/react

Version:

React implementation of Neo4j Design System

57 lines (56 loc) 2.07 kB
/** * * Copyright (c) "Neo4j" * Neo4j Sweden AB [http://neo4j.com] * * This file is part of Neo4j. * * Neo4j is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ import React from 'react'; import { type PolymorphicForwardRefExoticComponent } from '../_common/types'; import { type IconButton } from '../icon-button'; import { type LanguageProp } from './languages'; export interface InlineProps { type: 'inline'; maxHeight?: never; language?: never; showLineNumbers?: never; theme?: never; headerTitle?: never; actions?: never; isRunnable?: boolean; tooltipText?: string; onClick?: (e: React.MouseEvent<HTMLElement, MouseEvent> | React.KeyboardEvent<HTMLElement>) => void; } export interface BlockProps { type?: 'block'; maxHeight?: number; language: LanguageProp | 'text'; showLineNumbers?: boolean; theme?: 'vs' | 'base16-ateliersulphurpool.light' | 'coy' | 'duotone-light' | 'ghcolors' | 'prism' | 'solarizedlight' | 'ndl-code-dark' | 'ndl-code-light'; headerTitle?: string | React.JSX.Element; actions?: React.ComponentProps<typeof IconButton<'button'>>[]; isRunnable?: never; tooltipText?: never; onClick?: never; } export interface CommonProps { code: string; isDisabled?: boolean; } type ConditionalProps = InlineProps | BlockProps; type Props = CommonProps & ConditionalProps; export declare const Code: PolymorphicForwardRefExoticComponent<'button', Props>; export {};