diff --git a/packages/core/src/inputRules/markInputRule.ts b/packages/core/src/inputRules/markInputRule.ts index 9e5c8e5a..a55c4e15 100644 --- a/packages/core/src/inputRules/markInputRule.ts +++ b/packages/core/src/inputRules/markInputRule.ts @@ -39,11 +39,10 @@ export default function markInputRule(config: { const excludedMarks = getMarksBetween(range.from, range.to, state) .filter(item => { - // TODO: PR to add excluded to MarkType // @ts-ignore - const { excluded } = item.mark.type + const excluded = item.mark.type.excluded as MarkType[] - return excluded.find((type: MarkType) => type.name === config.type.name) + return excluded.find(type => type === config.type && type !== item.mark.type) }) .filter(item => item.to > textStart) diff --git a/packages/core/src/pasteRules/markPasteRule.ts b/packages/core/src/pasteRules/markPasteRule.ts index 5deeedd2..12f9cbf6 100644 --- a/packages/core/src/pasteRules/markPasteRule.ts +++ b/packages/core/src/pasteRules/markPasteRule.ts @@ -39,11 +39,10 @@ export default function markPasteRule(config: { const excludedMarks = getMarksBetween(range.from, range.to, state) .filter(item => { - // TODO: PR to add excluded to MarkType // @ts-ignore - const { excluded } = item.mark.type + const excluded = item.mark.type.excluded as MarkType[] - return excluded.find((type: MarkType) => type.name === config.type.name) + return excluded.find(type => type === config.type && type !== item.mark.type) }) .filter(item => item.to > textStart)