Summary
The âtext widgetâ is merely a subtype of a equation widget. If theresult in a equation widget is set to a string (i.e. anything with "quotes" around it), then the widget will be rendered as a text widget.
For now, all this means is that Markdown styling will be recognised and appropriate formatting applied. This will be extended in future based upon feedback from users (i.e. the eng team).
Markdown Support
Markdown styles currently available are all those in the CommonMark standard. For practical purposes, you can also think of all Unicode characters as being additionally available, most notably:\nwill give you a new line- ANY emoji can be copy-pasted directly in (e.g. đ´ or đ¨ or đ§)

Properties
This tickbox will toggle whether the text widget is displayed as full-width (i.e. label and symbol are IGNORED and not displayed in any way). The text result itself will take up the full widget width. The only additional decorations that show up in the main view of the widget are the âexpandâ arrow on the left side of the widget, and any check results, if a check exists.
Implementation
To create a text widget, simply create a equation widget with a string result:Examples
Common use cases for text widgets include:- Instructions: Providing step-by-step guidance to users
- Warnings: Highlighting important safety or calculation considerations
- Results summaries: Presenting calculated results in a formatted manner
- Documentation: Adding explanatory text within templates
Future Improvements
Markdown Styles
-
Style Modifications: Any existing styles can be modified in how they look. There is simply a CSS file (
client/src/sheet/components/markdown-styles.module.css) which defines how each style should look (heading levels, bullets, whatever) - and we can apply any formatting youâd like to each of these, including colours, fonts, sizes, margins, whatever. - New Style Types: New types of styles can likely be added. There are hundreds of plugins available for the ReactMarkdown library we use. However, note that not everything is easily add-able to our setup here.
We have currently implemented the text widget formatting in a âquick and dirtyâ manner - which means that we need to be certain that any plugins are not vulnerable to XSS attacks (security issue). One thing we explicitly can NOT do is support raw HTML. That is a security risk unless we also add some very heavy (and slow) sanitizing checks.