UNPKG

pangu

Version:

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

31 lines 1.5 kB
export type BoundarySpacingDecision = 'none' | 'prepend-next' | 'append-current' | 'insert-element'; export type TextNodeSpacingDecision = 'trim-leading-space' | 'prepend-space' | 'apply-text-spacing'; export interface BoundarySpacingContext { currentTail: string; nextFirst: string; currentEndsWithSpace: boolean; nextStartsWithSpace: boolean; whitespaceBetween: boolean; contentBetween: boolean; spaceLikeSiblingAfterCurrent: boolean; spaceLikeSiblingAfterCurrentBoundary: boolean; spaceLikeSiblingBeforeNext: boolean; spaceLikeSiblingBeforeNextBoundary: boolean; currentBoundaryIsBlock: boolean; currentBoundaryIsSpaceSensitive: boolean; nextBoundaryIsBlock: boolean; nextBoundaryIsIgnored: boolean; nextBoundaryIsSpaceSensitive: boolean; hiddenBoundaryBefore: () => boolean; hiddenBoundaryAfter: () => boolean; inGridOrFlexContainer: () => boolean; } export interface TextNodeSpacingContext { text: string; previousElementLastChar: string | null; hiddenBoundaryBefore: () => boolean; } export declare function decideBoundarySpacing(boundarySpacingContext: BoundarySpacingContext): "none" | "prepend-next" | "append-current" | "insert-element"; export declare function decideTextNodeSpacing(textNodeSpacingContext: TextNodeSpacingContext): TextNodeSpacingDecision[]; export declare function respaceCurrentTail(currentTail: string, nextFirst: string): string | null; //# sourceMappingURL=boundary-spacing.d.ts.map