smidr.text

..
UIMarkdown

The Markdown module for smidr.widgets.UITextArea: converts between the UITextStyle style model and Markdown, for import/export. toMarkdown flattens headings, bullet/numbered lists and bold/italic/underline runs; parse reads them back. It is a pair of pure functions over (text, styles) so it stays independent of the editor widget.

UIRichDoc

A styled document: plain text and its parallel UITextStyle style words (see UIMarkdown.parse).

UIRichStyler

The built-in WYSIWYG styling module for smidr.widgets.UITextArea. Install an instance as the editor's styler and it renders the UITextStyle bit vocabulary as real formatting: bold / italic / underline / outline runs, a colour palette, inline size tiers, heading sizes, and bullet / numbered list markers with indentation. The static helpers (toggleInline, setBlock, setColor, setSize, inlineAt, blockAt) drive a UIStyledText from a toolbar, so the editor itself stays free of any WYSIWYG knowledge.

UIStyledText

The generic style-editing surface a smidr.widgets.UITextArea exposes to styling modules. It lets a module (e.g. UIRichStyler) read and transform the editor's opaque per-character style words without the module depending on the concrete widget — the editor stays policy-free and the modules stay widget-free, so the dependency only ever points widgets -> text.

UITextStyle

The rich-text style vocabulary used by the WYSIWYG module (UIRichStyler) and the Markdown module (UIMarkdown). It packs a whole character style into a single Int: inline run flags (bold / italic / underline / outline), a colour-palette index, an inline size tier, and the paragraph block type (normal / H1-H3 / bullet / numbered).

UITextStyler

The rendering-policy contract a smidr.widgets.UITextArea delegates to. The editor stores an opaque Int style word per character and knows nothing about what the bits mean; an installed styler turns those words into concrete formatting (per-run TextFormat, paragraph indent, list markers, an outline flag) and decides how style flows across a line break.