✍ Component
WYSIWYG Renderer
Safely renders rich-text HTML from a CMS with scoped typography styles and dark-mode support.
Interactive Demo Playground
Configure Properties
Usage Code Generator
import WysiwygRenderer from '@contentveda/ui/react/WysiwygRenderer';
import '@contentveda/ui/theme.css';
// html comes from your CMS API response
const html = `<h2>Autumn Collection</h2><p>...</p>`;
export default function Example() {
return (
<WysiwygRenderer content={html} />
);
}
<script setup>
import WysiwygRenderer from '@contentveda/ui/vue/WysiwygRenderer.vue';
import '@contentveda/ui/theme.css';
// html comes from your CMS API response
const html = '<h2>Autumn Collection</h2><p>Experience premium craftsmanship.</p>';
</script>
<template>
<WysiwygRenderer :content="html" />
</template>
<script lang="ts">
import WysiwygRenderer from '@contentveda/ui/svelte/WysiwygRenderer.svelte';
const html = '<h2>Hello</h2><p>World</p>';
</script>
<WysiwygRenderer content={html} />
import WysiwygRenderer from '@contentveda/ui/solid/WysiwygRenderer';
import '@contentveda/ui/theme.css';
// html comes from your CMS API response
const html = `<h2>Autumn Collection</h2><p>Experience premium craftsmanship.</p>`;
export default function Example() {
return (
<WysiwygRenderer content={html} />
);
}
import { Component } from '@angular/core';
import { WysiwygRendererModule } from '@contentveda/ui/angular/WysiwygRenderer';
@Component({
selector: 'app-example',
standalone: true,
imports: [WysiwygRendererModule],
template: `
<wysiwyg-renderer [content]="html"></wysiwyg-renderer>
`
})
export class ExampleComponent {
html = '<h2>Autumn Collection</h2><p>Experience premium craftsmanship.</p>';
}
<script type="module"
src="node_modules/@contentveda/ui/dist/webcomponent/dist/WysiwygRenderer.js"></script>
<cv-wysiwyg-renderer
content="<h2>Hello</h2><p>World</p>"
></cv-wysiwyg-renderer>
Props API Reference
No props parsed.
Security: This component renders raw HTML. Always sanitise untrusted CMS content server-side (e.g. with DOMPurify) before passing it to
content.