//This copy-and-pasted from somewhere in lexical here: https://github.com/facebook/lexical/blob/c2ceee223f46543d12c574e62155e619f9a18a5d/packages/lexical/src/LexicalConstants.ts // DOM export const DOM_ELEMENT_TYPE = 1 export const DOM_TEXT_TYPE = 3 // Reconciling export const NO_DIRTY_NODES = 0 export const HAS_DIRTY_NODES = 1 export const FULL_RECONCILE = 2 // Text node modes export const IS_NORMAL = 0 export const IS_TOKEN = 1 export const IS_SEGMENTED = 2 // IS_INERT = 3 // Text node formatting export const IS_BOLD = 1 export const IS_ITALIC = 1 << 1 export const IS_STRIKETHROUGH = 1 << 2 export const IS_UNDERLINE = 1 << 3 export const IS_CODE = 1 << 4 export const IS_SUBSCRIPT = 1 << 5 export const IS_SUPERSCRIPT = 1 << 6 export const IS_HIGHLIGHT = 1 << 7 export const IS_ALL_FORMATTING = IS_BOLD | IS_ITALIC | IS_STRIKETHROUGH | IS_UNDERLINE | IS_CODE | IS_SUBSCRIPT | IS_SUPERSCRIPT | IS_HIGHLIGHT export const IS_DIRECTIONLESS = 1 export const IS_UNMERGEABLE = 1 << 1 // Element node formatting export const IS_ALIGN_LEFT = 1 export const IS_ALIGN_CENTER = 2 export const IS_ALIGN_RIGHT = 3 export const IS_ALIGN_JUSTIFY = 4 export const IS_ALIGN_START = 5 export const IS_ALIGN_END = 6 export const TEXT_TYPE_TO_FORMAT: Record = { bold: IS_BOLD, code: IS_CODE, italic: IS_ITALIC, strikethrough: IS_STRIKETHROUGH, subscript: IS_SUBSCRIPT, superscript: IS_SUPERSCRIPT, underline: IS_UNDERLINE } export type TextFormatType = 'bold' | 'underline' | 'strikethrough' | 'italic' | 'code' | 'subscript' | 'superscript'