diff --git a/SlackNet/Blocks/RichTextBlock.cs b/SlackNet/Blocks/RichTextBlock.cs
index 5d45976..2600bc6 100644
--- a/SlackNet/Blocks/RichTextBlock.cs
+++ b/SlackNet/Blocks/RichTextBlock.cs
@@ -3,6 +3,10 @@
namespace SlackNet.Blocks;
+///
+/// Displays formatted, structured representation of text.
+///
+/// See the Slack documentation for more information.
[SlackType("rich_text")]
public class RichTextBlock : Block
{
@@ -18,6 +22,10 @@ public abstract class RichTextElement
public string Type { get; set; }
}
+///
+/// Section element.
+///
+/// See the Slack documentation for more information.
public class RichTextSection : RichTextElement
{
public RichTextSection(): base("rich_text_section") { }
@@ -122,34 +130,101 @@ public RichTextBroadcast() : base("broadcast") { }
public RichTextStyle Style { get; set; } = new();
}
+///
+/// List element.
+///
+/// See the Slack documentation for more information.
public class RichTextList : RichTextElement
{
public RichTextList() : base("rich_text_list") { }
- public IList Elements { get; set; } = [];
- public string Style { get; set; }
+ ///
+ /// An array of objects.
+ ///
+ public IList Elements { get; set; } = [];
+
+ ///
+ /// Either or , the latter meaning a numbered list.
+ ///
+ public RichTextListStyle Style { get; set; }
+
+ ///
+ /// Levels of indentation.
+ ///
public int Indent { get; set; }
+
+ ///
+ /// Number of pixels to offset the list.
+ ///
+ public int Offset { get; set; }
+
+ ///
+ /// Number of pixels of border thickness.
+ ///
public int Border { get; set; }
}
+public enum RichTextListStyle
+{
+ Bullet,
+ Ordered
+}
+
+///
+/// Quote element.
+///
+/// See the Slack documentation for more information.
public class RichTextQuote : RichTextElement
{
public RichTextQuote() : base("rich_text_quote") { }
+ ///
+ /// An array of rich text elements.
+ ///
public IList Elements { get; set; } = [];
+
+ ///
+ /// Number of pixels of border thickness.
+ ///
+ public int Border { get; set; }
}
+///
+/// Preformatted code block element.
+///
+/// See the Slack documentation for more information.
public class RichTextPreformatted : RichTextElement
{
public RichTextPreformatted() : base("rich_text_preformatted") { }
+ ///
+ /// An array of rich text elements.
+ ///
public IList Elements { get; set; } = [];
+
+ ///
+ /// Number of pixels of border thickness.
+ ///
+ public int Border { get; set; }
}
+///
+/// Rich text styling. Note that not all properties are supported by all elements.
+///
public class RichTextStyle
{
+ [IgnoreIfDefault]
public bool Bold { get; set; }
- public bool Code { get; set; }
+ [IgnoreIfDefault]
public bool Italic { get; set; }
+ [IgnoreIfDefault]
public bool Strike { get; set; }
-}
+ [IgnoreIfDefault]
+ public bool Code { get; set; }
+ [IgnoreIfDefault]
+ public bool Highlight { get; set; }
+ [IgnoreIfDefault]
+ public bool ClientHighlight { get; set; }
+ [IgnoreIfDefault]
+ public bool Unlink { get; set; }
+}
\ No newline at end of file