UNPKG

vue-devui

Version:

DevUI components based on Vite and Vue3

64 lines (63 loc) 2 kB
import type { ExtractPropTypes, InjectionKey, PropType, SetupContext, Ref } from 'vue'; import type { DiffFile } from 'diff2html/lib/types'; export declare type DiffType = 'modify' | 'add' | 'delete' | 'rename'; export declare type OutputFormat = 'line-by-line' | 'side-by-side'; export declare type ExpandDirection = 'up' | 'down' | 'updown' | 'all'; export declare type LineSide = 'left' | 'right'; export declare type IncrementCodeInsertDirection = 'up' | 'down'; export interface CommentPosition { left: number; right: number; } export interface CodeReviewMethods { toggleFold: (status?: boolean) => void; insertComment: (lineNumber: number, lineSide: LineSide, commentDom: HTMLElement) => void; removeComment: (lineNumber: number, lineSide: LineSide) => void; } export declare const codeReviewProps: { diff: { type: StringConstructor; required: boolean; default: string; }; fold: { type: BooleanConstructor; default: boolean; }; allowComment: { type: BooleanConstructor; default: boolean; }; allowExpand: { type: BooleanConstructor; default: boolean; }; showBlob: { type: BooleanConstructor; default: boolean; }; diffType: { type: PropType<DiffType>; default: string; }; outputFormat: { type: PropType<OutputFormat>; default: string; }; expandThreshold: { type: NumberConstructor; default: number; }; expandLoader: { type: PropType<(interval: Array<number | undefined>, update: (code: string) => void) => void>; }; }; export declare type CodeReviewProps = ExtractPropTypes<typeof codeReviewProps>; export interface CodeReviewContext { diffType: Ref<DiffType>; reviewContentRef: Ref<HTMLElement>; diffInfo: DiffFile; isFold: Ref<boolean>; rootCtx: SetupContext; } export declare const CodeReviewInjectionKey: InjectionKey<CodeReviewContext>;