chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* Copyright 2025 coze-dev Authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { type ReactNode } from 'react';
|
||||
|
||||
import type {
|
||||
ViewVariableTreeNode,
|
||||
ViewVariableType,
|
||||
} from '@coze-workflow/base';
|
||||
|
||||
import { type EditorAPI } from './components/editor/preset';
|
||||
|
||||
export interface Input {
|
||||
name?: string;
|
||||
type?: ViewVariableType;
|
||||
children?: ViewVariableTreeNode[];
|
||||
}
|
||||
|
||||
export interface Output {
|
||||
name?: string;
|
||||
type?: ViewVariableType;
|
||||
children?: Output[];
|
||||
}
|
||||
|
||||
// Javascript is historical data, currently only python | typescript is available.
|
||||
export type LanguageType = 'python' | 'typescript' | 'javascript';
|
||||
|
||||
export interface PreviewerProps {
|
||||
content: string;
|
||||
language: LanguageType;
|
||||
height?: number;
|
||||
}
|
||||
|
||||
export interface EditorProps {
|
||||
defaultContent?: string;
|
||||
uuid: string;
|
||||
defaultLanguage: LanguageType;
|
||||
spaceId?: string;
|
||||
height?: string;
|
||||
width?: string;
|
||||
title?: string;
|
||||
readonly?: boolean;
|
||||
input?: Input[];
|
||||
output?: Output[];
|
||||
region?: string;
|
||||
locale?: string;
|
||||
onClose?: () => void;
|
||||
onChange?: (code: string, language: LanguageType) => void;
|
||||
languageTemplates?: Array<{
|
||||
language: 'typescript' | 'python';
|
||||
displayName: string;
|
||||
template: string;
|
||||
}>;
|
||||
onTestRun?: () => void;
|
||||
testRunIcon?: ReactNode;
|
||||
/**
|
||||
* @Deprecated onTestRunStateChange has expired and is not used online
|
||||
*/
|
||||
onTestRunStateChange?: (status: string) => void;
|
||||
}
|
||||
|
||||
export interface EditorOtherProps {
|
||||
didMount?: (api: EditorAPI) => void;
|
||||
language?: LanguageType;
|
||||
}
|
||||
|
||||
export enum ModuleDetectionKind {
|
||||
/**
|
||||
* Files with imports, exports and/or import.meta are considered modules
|
||||
*/
|
||||
Legacy = 1,
|
||||
/**
|
||||
* Legacy, but also files with jsx under react-jsx or react-jsxdev and esm mode files under moduleResolution: node16+
|
||||
*/
|
||||
Auto = 2,
|
||||
/**
|
||||
* Consider all non-declaration files modules, regardless of present syntax
|
||||
*/
|
||||
Force = 3,
|
||||
}
|
||||
Reference in New Issue
Block a user