mirror of
https://github.com/linsa-io/linsa.git
synced 2026-01-12 12:20:23 +01:00
23 lines
580 B
TypeScript
23 lines
580 B
TypeScript
import { Editor } from "@tiptap/react"
|
|
|
|
export const isTextSelected = (editor: Editor) => {
|
|
if (!editor.isEditable) {
|
|
return false
|
|
}
|
|
|
|
const { selection } = editor.state
|
|
const { empty, from, to } = selection
|
|
|
|
// Don't check for selection type since we only care about text content
|
|
// Handle empty selections, including empty paragraphs
|
|
if (empty) {
|
|
return false
|
|
}
|
|
|
|
// Get text content and trim to handle whitespace-only selections
|
|
const text = editor.state.doc.textBetween(from, to, " ").trim()
|
|
return text.length > 0
|
|
}
|
|
|
|
export default isTextSelected
|