## Overview

Shows the content of a Rich String attribute and enables you to edit this content using a WYSIWYG editor.

The Custom Rich String Attribute widget renders formatted text content stored in RichString attributes of custom entities. It displays the attribute value with all HTML formatting intact, including bold, italic, lists, links, headings, and other rich text elements.

The widget offers two display modes: framed (with a visible border and the attribute's localized name as the title) or frameless (for seamless content integration into the page layout).

## Use Cases

- **Formatted descriptions** - Display project descriptions, requirement documentation, or detailed explanations with preserved formatting
- **Rich text notes** - Show user-entered notes that include styling like lists, links, and emphasis
- **Content sections** - Present detailed information that benefits from headings, bullet points, and structured formatting
- **Inline documentation** - Embed formatted explanatory text within page layouts

## Design Considerations

### When to Use

- The attribute contains formatted text that loses meaning without its formatting
- You want to display a single RichString attribute prominently
- The content should be read-only (no direct editing from the widget)

### Frame vs Frameless

- **With frame** (`showFrame: true`): Creates visual separation, displays the attribute's localized name as a title. Best when the content is a distinct section.
- **Frameless** (`showFrame: false`): Content integrates seamlessly into the page. Best for inline content where visual boundaries are unwanted.

### Limitations

- Only works with attributes that have a RichString constraint
- Must be embedded within a custom entity context
- Read-only display; does not support inline editing

## Related Patterns

- **Single Attribute Widget** (`cf.platform.singleAttribute`) - More generic widget for various attribute types; consider when you need to display non-rich-text attributes or want editing capabilities
- **Connected Single Attribute Widget** (`cf.platform.connectedSingleAttribute`) - Use when the attribute value should come from a table selection rather than the embedding entity
- **Attributes Widget** (`cf.platform.attributes`) - Use when you need to display multiple attributes together in a group
