인라인 텍스트 색상 패널 추가

This commit is contained in:
2026-06-16 16:54:01 +09:00
parent 0bb07b5e03
commit 6c4064d8b5
16 changed files with 581 additions and 126 deletions

View File

@@ -100,16 +100,17 @@ export const rangeIntersectsElement = (range, element) => {
* @returns {number}
*/
export const getSelectionOffsetInElement = (element, range, edge) => {
const partial = document.createRange()
partial.selectNodeContents(element)
const boundaryRange = document.createRange()
if (edge === 'start') {
partial.setEnd(range.startContainer, range.startOffset)
boundaryRange.setStart(range.startContainer, range.startOffset)
} else {
partial.setStart(range.endContainer, range.endOffset)
boundaryRange.setStart(range.endContainer, range.endOffset)
}
return getEditableCaretOffset(element, partial)
boundaryRange.collapse(true)
return getEditableCaretOffset(element, boundaryRange)
}
/**