UNPKG

@scalar/api-client

Version:

the open source API testing client

39 lines 1.73 kB
import * as monaco from 'monaco-editor'; import 'monaco-editor/esm/vs/language/json/monaco.contribution'; import 'monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution'; import 'monaco-editor/esm/vs/editor/contrib/folding/browser/folding'; import 'monaco-editor/esm/vs/editor/contrib/folding/browser/folding.css'; import 'monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.css'; import { type MaybeRefOrGetter } from 'vue'; import type { JsonPath } from '../../../../../../v2/features/collection/components/Editor/helpers/json-ast.js'; type MonacoEditorAction = { id: string; label: string; keybindings?: number[]; run: () => void | Promise<void>; }; export type MonacoEditorLanguage = 'json' | 'yaml'; export declare const useEditor: ({ element, value, onChange, actions, readOnly, isDarkMode, theme, language, }: { element: HTMLElement; value?: MaybeRefOrGetter<string>; readOnly?: MaybeRefOrGetter<boolean>; onChange?: (e: string) => void; actions?: MonacoEditorAction[]; isDarkMode?: MaybeRefOrGetter<boolean>; theme?: MaybeRefOrGetter<string>; language?: MonacoEditorLanguage; }) => { editor: monaco.editor.IStandaloneCodeEditor; model: monaco.editor.ITextModel; highlightPath: (path: JsonPath) => Promise<void>; focusPath: (path: JsonPath) => Promise<void>; formatDocument: () => Promise<void>; getValue: () => string; setValue: (nextValue: string, isProgrammaticUpdate?: boolean) => void; hasTextFocus: () => boolean; setLanguage: (nextLanguage: MonacoEditorLanguage) => void; setCursorToMarker: (marker: monaco.editor.IMarker) => void; dispose: () => void; }; export {}; //# sourceMappingURL=use-editor.d.ts.map