UNPKG

pangu

Version:

Opinionated paranoid text spacing: automatically inserts whitespace between CJK (Chinese, Japanese, Korean) and ANS (alphabetical letters, numerical digits and symbols)

53 lines 1.84 kB
import { Pangu } from '../shared/index.js'; import { VisibilityDetector } from './dom/visibility-detector.js'; import { TaskScheduler } from './scheduling/task-scheduler.js'; export interface AutoSpacePageConfig { pageDelayMs?: number; nodeDelayMs?: number; nodeMaxWaitMs?: number; } interface UnsettledTextNode { readonly node: Text; readonly unspaced: string; } export interface SettledTextNode extends UnsettledTextNode { readonly settled: string; } export interface LateFix { readonly node: Text; readonly settled: string; readonly data: string; } export declare class BrowserPangu extends Pangu { private static readonly maxSyncTextNodes; private autoSpacePageObserver; private readonly lastWrittenData; private readonly lateFixedTextNodes; readonly taskScheduler: TaskScheduler; readonly visibilityDetector: VisibilityDetector; onTextNodesSettled: ((settledTextNodes: SettledTextNode[]) => void) | null; autoSpacePage({ pageDelayMs, nodeDelayMs, nodeMaxWaitMs }?: AutoSpacePageConfig): void; spacePage(): void; spaceNode(node: Node): void; stopAutoSpacePage(): void; applyLateFixes(lateFixes: readonly LateFix[]): void; private isSpaceLikeSibling; private isGridOrFlexContainer; private spaceTextNodes; private holdsLateFix; private emitTextNodesSettled; private applyTextNodeSpacing; private spaceNodeSync; private withNeighborTextNodes; private hasSpacedTextInSubtree; private insertPanguElement; private findPreviousElementLastChar; private scanBetweenTextNodes; private isHiddenBoundaryBefore; private isHiddenBoundaryAfter; private schedule; private setupAutoSpacePageObserver; } export declare const pangu: BrowserPangu; export default pangu; //# sourceMappingURL=pangu.d.ts.map