diff --git a/docs/Preview.ps1 b/docs/Preview.ps1 old mode 100644 new mode 100755 diff --git a/docs/input/assets/casts/rows-rich.cast b/docs/input/assets/casts/rows-rich.cast new file mode 100644 index 0000000..bd07093 --- /dev/null +++ b/docs/input/assets/casts/rows-rich.cast @@ -0,0 +1,2 @@ +{"version": 2, "width": 50, "height": 5, "timestamp": 1667278514, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0, "o", "\u001b[38;5;9;48;5;0mItem 1\u001b[0m\r\n\u001b[38;5;2;48;5;0mItem 2\u001b[0m\r\n\u001b[38;5;12;48;5;0mItem 3\u001b[0m\r\n"] diff --git a/docs/input/widgets/rows.md b/docs/input/widgets/rows.md new file mode 100644 index 0000000..103034f --- /dev/null +++ b/docs/input/widgets/rows.md @@ -0,0 +1,54 @@ +Title: Rows +Order: 20 +Description: "Use **Rows** to render widgets in horiztonal rows to the console." +Highlights: + - Custom colors + - Labels + - Use your own data with a converter. +Reference: T:Spectre.Console.Rows + +--- + +Use `Rows` to render widgets in horizontal rows to the console. + + + +## Usage + +### Basic usage + +```csharp +// Render two items on separate rows to Console +AnsiConsole.Write(new Rows( + new Text("Item 1"), + new Text("Item 2") + )); +``` + +### Add items from an IEnumerable + +```csharp +// Create a list of Items +var rows = new List(){ + new Text("Item 1"), + new Text("Item 2"), + new Text("Item 3") + }; + +// Render each item in list on separate line +AnsiConsole.Write(new Rows(rows)); +``` + +### Apply custom styles to each row + +```csharp +// Create a list of Items, apply separate styles to each +var rows = new List(){ + new Text("Item 1", new Style(Color.Red, Color.Black)), + new Text("Item 2", new Style(Color.Green, Color.Black)), + new Text("Item 3", new Style(Color.Blue, Color.Black)) +}; + +// Renders each item with own style +AnsiConsole.Write(new Rows(rows)); +```