diff --git a/package-lock.json b/package-lock.json index ce7f0803..4c40a12f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@redocly/openapi-core": "^1.4.0", "classnames": "^2.3.2", "decko": "^1.2.0", - "dompurify": "^3.0.6", + "dompurify": "^3.2.4", "eventemitter3": "^5.0.1", "json-pointer": "^0.6.2", "lunr": "^2.3.9", diff --git a/package.json b/package.json index 527c9d20..e646481c 100644 --- a/package.json +++ b/package.json @@ -141,7 +141,7 @@ "@redocly/openapi-core": "^1.4.0", "classnames": "^2.3.2", "decko": "^1.2.0", - "dompurify": "^3.0.6", + "dompurify": "^3.2.4", "eventemitter3": "^5.0.1", "json-pointer": "^0.6.2", "lunr": "^2.3.9", diff --git a/src/components/Markdown/SanitizedMdBlock.tsx b/src/components/Markdown/SanitizedMdBlock.tsx index b05e5b50..13bfec49 100644 --- a/src/components/Markdown/SanitizedMdBlock.tsx +++ b/src/components/Markdown/SanitizedMdBlock.tsx @@ -6,11 +6,14 @@ import { StylingMarkdownProps } from './Markdown'; import { StyledMarkdownBlock } from './styled.elements'; import styled from 'styled-components'; +// Workaround for DOMPurify type issues (https://github.com/cure53/DOMPurify/issues/1034) +const dompurify = DOMPurify['default'] as DOMPurify.DOMPurify; + const StyledMarkdownSpan = styled(StyledMarkdownBlock)` display: inline; `; -const sanitize = (sanitize, html) => (sanitize ? DOMPurify.sanitize(html) : html); +const sanitize = (sanitize, html) => (sanitize ? dompurify.sanitize(html) : html); export function SanitizedMarkdownHTML({ inline,