Panel275 Documents

Core Rich Text

Do not directly use ReactMarkdown or other rich text renderers or editors in part panels, runnable panels, or application components. Reuse rich text display components and editor fields from panel core. Third-party rendering and editor integrations belong only inside their owning shared core components. Core previews must also reuse the shared rich text display component.

Philosophy

Panel core owns rich text rendering and editing so applications share consistent behavior, appearance, accessibility, and security.

Correct

import { RichText } from 'panel'
<RichText content={post.content} format='markdown' />
import { Markdown } from 'form'

Incorrect

import ReactMarkdown from 'react-markdown'
import { EditorContent } from '@tiptap/react'

Fix

Move rendering or editing mechanisms into the owning shared panel core component. Import RichText from panel for display and reuse the shared form fields for editing. Keep rendering configuration and appearance in core; callers declare their content and format.