/** * From https://www.tiptap.dev/api/editor/#inject-css * https://github.com/ueberdosis/tiptap/blob/main/packages/core/src/style.ts */ .ProseMirror { position: relative; word-wrap: break-word; white-space: pre-wrap; -webkit-font-variant-ligatures: none; font-variant-ligatures: none; & [contenteditable="false"] { white-space: normal; } & [contenteditable="false"] [contenteditable="true"] { white-space: pre-wrap; } pre { white-space: pre-wrap; } } .ProseMirror-gapcursor { display: none; pointer-events: none; position: absolute; &:after { content: ""; display: block; position: absolute; top: -2px; width: 20px; border-top: 1px solid black; animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite; } } @keyframes ProseMirror-cursor-blink { to { visibility: hidden; } } .ProseMirror-hideselection * { &::selection { background: transparent; } &::-moz-selection { background: transparent; } caret-color: transparent; } .ProseMirror-focused .ProseMirror-gapcursor { display: block; } .tippy-box[data-animation="fade"][data-state="hidden"] { opacity: 0; }