update packages and add valign
This commit is contained in:
56
scripts/reveal.js/plugin/highlight/index.ts
Normal file
56
scripts/reveal.js/plugin/highlight/index.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
import type { HLJSApi } from 'highlight.js';
|
||||
import type { RevealPlugin } from 'reveal.js';
|
||||
|
||||
// @ts-expect-error The runtime implementation remains in JS during the migration.
|
||||
import HighlightImplementation from './plugin.js';
|
||||
|
||||
export interface HighlightLine {
|
||||
start?: number;
|
||||
end?: number;
|
||||
}
|
||||
|
||||
export interface HighlightLineNumbersOptions {
|
||||
singleLine?: boolean;
|
||||
startFrom?: number;
|
||||
}
|
||||
|
||||
export interface HighlightJsApi extends HLJSApi {
|
||||
initLineNumbersOnLoad(options?: HighlightLineNumbersOptions): void;
|
||||
lineNumbersBlock(element: HTMLElement, options?: HighlightLineNumbersOptions): void;
|
||||
lineNumbersValue(code: string, options?: HighlightLineNumbersOptions): string | undefined;
|
||||
}
|
||||
|
||||
export interface HighlightScrollState {
|
||||
currentBlock?: HTMLElement;
|
||||
animationFrameID?: number;
|
||||
}
|
||||
|
||||
export interface HighlightLineBounds {
|
||||
top: number;
|
||||
bottom: number;
|
||||
}
|
||||
|
||||
export type HighlightLineStep = HighlightLine[];
|
||||
|
||||
export interface HighlightPlugin extends RevealPlugin {
|
||||
id: 'highlight';
|
||||
HIGHLIGHT_STEP_DELIMITER: '|';
|
||||
HIGHLIGHT_LINE_DELIMITER: ',';
|
||||
HIGHLIGHT_LINE_RANGE_DELIMITER: '-';
|
||||
hljs: HighlightJsApi;
|
||||
highlightBlock(block: HTMLElement): void;
|
||||
scrollHighlightedLineIntoView(
|
||||
block: HTMLElement,
|
||||
scrollState: HighlightScrollState,
|
||||
skipAnimation?: boolean
|
||||
): void;
|
||||
easeInOutQuart(t: number): number;
|
||||
getHighlightedLineBounds(block: HTMLElement): HighlightLineBounds;
|
||||
highlightLines(block: HTMLElement, linesToHighlight?: string): void;
|
||||
deserializeHighlightSteps(highlightSteps: string): HighlightLineStep[];
|
||||
serializeHighlightSteps(highlightSteps: HighlightLineStep[]): string;
|
||||
}
|
||||
|
||||
const Highlight = HighlightImplementation as () => HighlightPlugin;
|
||||
|
||||
export default Highlight;
|
||||
Reference in New Issue
Block a user