//------------------------------------------------------------------------------ // // This code was generated by a tool. // // Partly generated from // https://github.com/sindresorhus/cli-spinners/blob/master/spinners.json // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ using System; using System.Collections.Generic; namespace Spectre.Console { public abstract partial class Spinner { private sealed class DefaultSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⣷", "⣯", "⣟", "⡿", "⢿", "⣻", "⣽", "⣾", }; } private sealed class AsciiSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "-", "\\", "|", "/", "-", "\\", "|", "/", }; } private sealed class DotsSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏", }; } private sealed class Dots2Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷", }; } private sealed class Dots3Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⠋", "⠙", "⠚", "⠞", "⠖", "⠦", "⠴", "⠲", "⠳", "⠓", }; } private sealed class Dots4Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⠄", "⠆", "⠇", "⠋", "⠙", "⠸", "⠰", "⠠", "⠰", "⠸", "⠙", "⠋", "⠇", "⠆", }; } private sealed class Dots5Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⠋", "⠙", "⠚", "⠒", "⠂", "⠂", "⠒", "⠲", "⠴", "⠦", "⠖", "⠒", "⠐", "⠐", "⠒", "⠓", "⠋", }; } private sealed class Dots6Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⠁", "⠉", "⠙", "⠚", "⠒", "⠂", "⠂", "⠒", "⠲", "⠴", "⠤", "⠄", "⠄", "⠤", "⠴", "⠲", "⠒", "⠂", "⠂", "⠒", "⠚", "⠙", "⠉", "⠁", }; } private sealed class Dots7Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⠈", "⠉", "⠋", "⠓", "⠒", "⠐", "⠐", "⠒", "⠖", "⠦", "⠤", "⠠", "⠠", "⠤", "⠦", "⠖", "⠒", "⠐", "⠐", "⠒", "⠓", "⠋", "⠉", "⠈", }; } private sealed class Dots8Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⠁", "⠁", "⠉", "⠙", "⠚", "⠒", "⠂", "⠂", "⠒", "⠲", "⠴", "⠤", "⠄", "⠄", "⠤", "⠠", "⠠", "⠤", "⠦", "⠖", "⠒", "⠐", "⠐", "⠒", "⠓", "⠋", "⠉", "⠈", "⠈", }; } private sealed class Dots9Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⢹", "⢺", "⢼", "⣸", "⣇", "⡧", "⡗", "⡏", }; } private sealed class Dots10Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⢄", "⢂", "⢁", "⡁", "⡈", "⡐", "⡠", }; } private sealed class Dots11Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⠁", "⠂", "⠄", "⡀", "⢀", "⠠", "⠐", "⠈", }; } private sealed class Dots12Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⢀⠀", "⡀⠀", "⠄⠀", "⢂⠀", "⡂⠀", "⠅⠀", "⢃⠀", "⡃⠀", "⠍⠀", "⢋⠀", "⡋⠀", "⠍⠁", "⢋⠁", "⡋⠁", "⠍⠉", "⠋⠉", "⠋⠉", "⠉⠙", "⠉⠙", "⠉⠩", "⠈⢙", "⠈⡙", "⢈⠩", "⡀⢙", "⠄⡙", "⢂⠩", "⡂⢘", "⠅⡘", "⢃⠨", "⡃⢐", "⠍⡐", "⢋⠠", "⡋⢀", "⠍⡁", "⢋⠁", "⡋⠁", "⠍⠉", "⠋⠉", "⠋⠉", "⠉⠙", "⠉⠙", "⠉⠩", "⠈⢙", "⠈⡙", "⠈⠩", "⠀⢙", "⠀⡙", "⠀⠩", "⠀⢘", "⠀⡘", "⠀⠨", "⠀⢐", "⠀⡐", "⠀⠠", "⠀⢀", "⠀⡀", }; } private sealed class Dots8BitSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⠀", "⠁", "⠂", "⠃", "⠄", "⠅", "⠆", "⠇", "⡀", "⡁", "⡂", "⡃", "⡄", "⡅", "⡆", "⡇", "⠈", "⠉", "⠊", "⠋", "⠌", "⠍", "⠎", "⠏", "⡈", "⡉", "⡊", "⡋", "⡌", "⡍", "⡎", "⡏", "⠐", "⠑", "⠒", "⠓", "⠔", "⠕", "⠖", "⠗", "⡐", "⡑", "⡒", "⡓", "⡔", "⡕", "⡖", "⡗", "⠘", "⠙", "⠚", "⠛", "⠜", "⠝", "⠞", "⠟", "⡘", "⡙", "⡚", "⡛", "⡜", "⡝", "⡞", "⡟", "⠠", "⠡", "⠢", "⠣", "⠤", "⠥", "⠦", "⠧", "⡠", "⡡", "⡢", "⡣", "⡤", "⡥", "⡦", "⡧", "⠨", "⠩", "⠪", "⠫", "⠬", "⠭", "⠮", "⠯", "⡨", "⡩", "⡪", "⡫", "⡬", "⡭", "⡮", "⡯", "⠰", "⠱", "⠲", "⠳", "⠴", "⠵", "⠶", "⠷", "⡰", "⡱", "⡲", "⡳", "⡴", "⡵", "⡶", "⡷", "⠸", "⠹", "⠺", "⠻", "⠼", "⠽", "⠾", "⠿", "⡸", "⡹", "⡺", "⡻", "⡼", "⡽", "⡾", "⡿", "⢀", "⢁", "⢂", "⢃", "⢄", "⢅", "⢆", "⢇", "⣀", "⣁", "⣂", "⣃", "⣄", "⣅", "⣆", "⣇", "⢈", "⢉", "⢊", "⢋", "⢌", "⢍", "⢎", "⢏", "⣈", "⣉", "⣊", "⣋", "⣌", "⣍", "⣎", "⣏", "⢐", "⢑", "⢒", "⢓", "⢔", "⢕", "⢖", "⢗", "⣐", "⣑", "⣒", "⣓", "⣔", "⣕", "⣖", "⣗", "⢘", "⢙", "⢚", "⢛", "⢜", "⢝", "⢞", "⢟", "⣘", "⣙", "⣚", "⣛", "⣜", "⣝", "⣞", "⣟", "⢠", "⢡", "⢢", "⢣", "⢤", "⢥", "⢦", "⢧", "⣠", "⣡", "⣢", "⣣", "⣤", "⣥", "⣦", "⣧", "⢨", "⢩", "⢪", "⢫", "⢬", "⢭", "⢮", "⢯", "⣨", "⣩", "⣪", "⣫", "⣬", "⣭", "⣮", "⣯", "⢰", "⢱", "⢲", "⢳", "⢴", "⢵", "⢶", "⢷", "⣰", "⣱", "⣲", "⣳", "⣴", "⣵", "⣶", "⣷", "⢸", "⢹", "⢺", "⢻", "⢼", "⢽", "⢾", "⢿", "⣸", "⣹", "⣺", "⣻", "⣼", "⣽", "⣾", "⣿", }; } private sealed class LineSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(130); public override bool IsUnicode => false; public override IReadOnlyList Frames => new List { "-", "\\", "|", "/", }; } private sealed class Line2Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => false; public override IReadOnlyList Frames => new List { "⠂", "-", "–", "—", "–", "-", }; } private sealed class PipeSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => false; public override IReadOnlyList Frames => new List { "┤", "┘", "┴", "└", "├", "┌", "┬", "┐", }; } private sealed class SimpleDotsSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(400); public override bool IsUnicode => false; public override IReadOnlyList Frames => new List { ". ", ".. ", "...", " ", }; } private sealed class SimpleDotsScrollingSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(200); public override bool IsUnicode => false; public override IReadOnlyList Frames => new List { ". ", ".. ", "...", " ..", " .", " ", }; } private sealed class StarSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(70); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "✶", "✸", "✹", "✺", "✹", "✷", }; } private sealed class Star2Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => false; public override IReadOnlyList Frames => new List { "+", "x", "*", }; } private sealed class FlipSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(70); public override bool IsUnicode => false; public override IReadOnlyList Frames => new List { "_", "_", "_", "-", "`", "`", "'", "´", "-", "_", "_", "_", }; } private sealed class HamburgerSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "☱", "☲", "☴", }; } private sealed class GrowVerticalSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(120); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "▁", "▃", "▄", "▅", "▆", "▇", "▆", "▅", "▄", "▃", }; } private sealed class GrowHorizontalSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(120); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "▏", "▎", "▍", "▌", "▋", "▊", "▉", "▊", "▋", "▌", "▍", "▎", }; } private sealed class BalloonSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(140); public override bool IsUnicode => false; public override IReadOnlyList Frames => new List { " ", ".", "o", "O", "@", "*", " ", }; } private sealed class Balloon2Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(120); public override bool IsUnicode => false; public override IReadOnlyList Frames => new List { ".", "o", "O", "°", "O", "o", ".", }; } private sealed class NoiseSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "▓", "▒", "░", }; } private sealed class BounceSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(120); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⠁", "⠂", "⠄", "⠂", }; } private sealed class BoxBounceSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(120); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "▖", "▘", "▝", "▗", }; } private sealed class BoxBounce2Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "▌", "▀", "▐", "▄", }; } private sealed class TriangleSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(50); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "◢", "◣", "◤", "◥", }; } private sealed class ArcSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "◜", "◠", "◝", "◞", "◡", "◟", }; } private sealed class CircleSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(120); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "◡", "⊙", "◠", }; } private sealed class SquareCornersSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(180); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "◰", "◳", "◲", "◱", }; } private sealed class CircleQuartersSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(120); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "◴", "◷", "◶", "◵", }; } private sealed class CircleHalvesSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(50); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "◐", "◓", "◑", "◒", }; } private sealed class SquishSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "╫", "╪", }; } private sealed class ToggleSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(250); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⊶", "⊷", }; } private sealed class Toggle2Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "▫", "▪", }; } private sealed class Toggle3Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(120); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "□", "■", }; } private sealed class Toggle4Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "■", "□", "▪", "▫", }; } private sealed class Toggle5Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "▮", "▯", }; } private sealed class Toggle6Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(300); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "ဝ", "၀", }; } private sealed class Toggle7Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⦾", "⦿", }; } private sealed class Toggle8Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "◍", "◌", }; } private sealed class Toggle9Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "◉", "◎", }; } private sealed class Toggle10Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "㊂", "㊀", "㊁", }; } private sealed class Toggle11Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(50); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⧇", "⧆", }; } private sealed class Toggle12Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(120); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "☗", "☖", }; } private sealed class Toggle13Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => false; public override IReadOnlyList Frames => new List { "=", "*", "-", }; } private sealed class ArrowSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "←", "↖", "↑", "↗", "→", "↘", "↓", "↙", }; } private sealed class Arrow2Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "⬆️ ", "↗️ ", "➡️ ", "↘️ ", "⬇️ ", "↙️ ", "⬅️ ", "↖️ ", }; } private sealed class Arrow3Spinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(120); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "▹▹▹▹▹", "▸▹▹▹▹", "▹▸▹▹▹", "▹▹▸▹▹", "▹▹▹▸▹", "▹▹▹▹▸", }; } private sealed class BouncingBarSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "[ ]", "[= ]", "[== ]", "[=== ]", "[ ===]", "[ ==]", "[ =]", "[ ]", "[ =]", "[ ==]", "[ ===]", "[====]", "[=== ]", "[== ]", "[= ]", }; } private sealed class BouncingBallSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "( ● )", "( ● )", "( ● )", "( ● )", "( ●)", "( ● )", "( ● )", "( ● )", "( ● )", "(● )", }; } private sealed class SmileySpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(200); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "😄 ", "😝 ", }; } private sealed class MonkeySpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(300); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "🙈 ", "🙈 ", "🙉 ", "🙊 ", }; } private sealed class HeartsSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "💛 ", "💙 ", "💜 ", "💚 ", "❤️ ", }; } private sealed class ClockSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "🕛 ", "🕐 ", "🕑 ", "🕒 ", "🕓 ", "🕔 ", "🕕 ", "🕖 ", "🕗 ", "🕘 ", "🕙 ", "🕚 ", }; } private sealed class EarthSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(180); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "🌍 ", "🌎 ", "🌏 ", }; } private sealed class MaterialSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(17); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", "███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", "████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", "██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁", "██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁", "███████▁▁▁▁▁▁▁▁▁▁▁▁▁", "████████▁▁▁▁▁▁▁▁▁▁▁▁", "█████████▁▁▁▁▁▁▁▁▁▁▁", "█████████▁▁▁▁▁▁▁▁▁▁▁", "██████████▁▁▁▁▁▁▁▁▁▁", "███████████▁▁▁▁▁▁▁▁▁", "█████████████▁▁▁▁▁▁▁", "██████████████▁▁▁▁▁▁", "██████████████▁▁▁▁▁▁", "▁██████████████▁▁▁▁▁", "▁██████████████▁▁▁▁▁", "▁██████████████▁▁▁▁▁", "▁▁██████████████▁▁▁▁", "▁▁▁██████████████▁▁▁", "▁▁▁▁█████████████▁▁▁", "▁▁▁▁██████████████▁▁", "▁▁▁▁██████████████▁▁", "▁▁▁▁▁██████████████▁", "▁▁▁▁▁██████████████▁", "▁▁▁▁▁██████████████▁", "▁▁▁▁▁▁██████████████", "▁▁▁▁▁▁██████████████", "▁▁▁▁▁▁▁█████████████", "▁▁▁▁▁▁▁█████████████", "▁▁▁▁▁▁▁▁████████████", "▁▁▁▁▁▁▁▁████████████", "▁▁▁▁▁▁▁▁▁███████████", "▁▁▁▁▁▁▁▁▁███████████", "▁▁▁▁▁▁▁▁▁▁██████████", "▁▁▁▁▁▁▁▁▁▁██████████", "▁▁▁▁▁▁▁▁▁▁▁▁████████", "▁▁▁▁▁▁▁▁▁▁▁▁▁███████", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████", "█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████", "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███", "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███", "███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███", "████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██", "█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█", "█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█", "██████▁▁▁▁▁▁▁▁▁▁▁▁▁█", "████████▁▁▁▁▁▁▁▁▁▁▁▁", "█████████▁▁▁▁▁▁▁▁▁▁▁", "█████████▁▁▁▁▁▁▁▁▁▁▁", "█████████▁▁▁▁▁▁▁▁▁▁▁", "█████████▁▁▁▁▁▁▁▁▁▁▁", "███████████▁▁▁▁▁▁▁▁▁", "████████████▁▁▁▁▁▁▁▁", "████████████▁▁▁▁▁▁▁▁", "██████████████▁▁▁▁▁▁", "██████████████▁▁▁▁▁▁", "▁██████████████▁▁▁▁▁", "▁██████████████▁▁▁▁▁", "▁▁▁█████████████▁▁▁▁", "▁▁▁▁▁████████████▁▁▁", "▁▁▁▁▁████████████▁▁▁", "▁▁▁▁▁▁███████████▁▁▁", "▁▁▁▁▁▁▁▁█████████▁▁▁", "▁▁▁▁▁▁▁▁█████████▁▁▁", "▁▁▁▁▁▁▁▁▁█████████▁▁", "▁▁▁▁▁▁▁▁▁█████████▁▁", "▁▁▁▁▁▁▁▁▁▁█████████▁", "▁▁▁▁▁▁▁▁▁▁▁████████▁", "▁▁▁▁▁▁▁▁▁▁▁████████▁", "▁▁▁▁▁▁▁▁▁▁▁▁███████▁", "▁▁▁▁▁▁▁▁▁▁▁▁███████▁", "▁▁▁▁▁▁▁▁▁▁▁▁▁███████", "▁▁▁▁▁▁▁▁▁▁▁▁▁███████", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", }; } private sealed class MoonSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "🌑 ", "🌒 ", "🌓 ", "🌔 ", "🌕 ", "🌖 ", "🌗 ", "🌘 ", }; } private sealed class RunnerSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(140); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "🚶 ", "🏃 ", }; } private sealed class PongSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "▐⠂ ▌", "▐⠈ ▌", "▐ ⠂ ▌", "▐ ⠠ ▌", "▐ ⡀ ▌", "▐ ⠠ ▌", "▐ ⠂ ▌", "▐ ⠈ ▌", "▐ ⠂ ▌", "▐ ⠠ ▌", "▐ ⡀ ▌", "▐ ⠠ ▌", "▐ ⠂ ▌", "▐ ⠈ ▌", "▐ ⠂▌", "▐ ⠠▌", "▐ ⡀▌", "▐ ⠠ ▌", "▐ ⠂ ▌", "▐ ⠈ ▌", "▐ ⠂ ▌", "▐ ⠠ ▌", "▐ ⡀ ▌", "▐ ⠠ ▌", "▐ ⠂ ▌", "▐ ⠈ ▌", "▐ ⠂ ▌", "▐ ⠠ ▌", "▐ ⡀ ▌", "▐⠠ ▌", }; } private sealed class SharkSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(120); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "▐|\\____________▌", "▐_|\\___________▌", "▐__|\\__________▌", "▐___|\\_________▌", "▐____|\\________▌", "▐_____|\\_______▌", "▐______|\\______▌", "▐_______|\\_____▌", "▐________|\\____▌", "▐_________|\\___▌", "▐__________|\\__▌", "▐___________|\\_▌", "▐____________|\\▌", "▐____________/|▌", "▐___________/|_▌", "▐__________/|__▌", "▐_________/|___▌", "▐________/|____▌", "▐_______/|_____▌", "▐______/|______▌", "▐_____/|_______▌", "▐____/|________▌", "▐___/|_________▌", "▐__/|__________▌", "▐_/|___________▌", "▐/|____________▌", }; } private sealed class DqpbSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => false; public override IReadOnlyList Frames => new List { "d", "q", "p", "b", }; } private sealed class WeatherSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(100); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "☀️ ", "☀️ ", "☀️ ", "🌤 ", "⛅️ ", "🌥 ", "☁️ ", "🌧 ", "🌨 ", "🌧 ", "🌨 ", "🌧 ", "🌨 ", "⛈ ", "🌨 ", "🌧 ", "🌨 ", "☁️ ", "🌥 ", "⛅️ ", "🌤 ", "☀️ ", "☀️ ", }; } private sealed class ChristmasSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(400); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "🌲", "🎄", }; } private sealed class GrenadeSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "، ", "′ ", " ´ ", " ‾ ", " ⸌", " ⸊", " |", " ⁎", " ⁕", " ෴ ", " ⁓", " ", " ", " ", }; } private sealed class PointSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(125); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "∙∙∙", "●∙∙", "∙●∙", "∙∙●", "∙∙∙", }; } private sealed class LayerSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(150); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "-", "=", "≡", }; } private sealed class BetaWaveSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "ρββββββ", "βρβββββ", "ββρββββ", "βββρβββ", "ββββρββ", "βββββρβ", "ββββββρ", }; } private sealed class AestheticSpinner : Spinner { public override TimeSpan Interval => TimeSpan.FromMilliseconds(80); public override bool IsUnicode => true; public override IReadOnlyList Frames => new List { "▰▱▱▱▱▱▱", "▰▰▱▱▱▱▱", "▰▰▰▱▱▱▱", "▰▰▰▰▱▱▱", "▰▰▰▰▰▱▱", "▰▰▰▰▰▰▱", "▰▰▰▰▰▰▰", "▰▱▱▱▱▱▱", }; } /// /// Contains all predefined spinners. /// public static class Known { /// /// Gets the "Default" spinner. /// public static Spinner Default { get; } = new DefaultSpinner(); /// /// Gets the "Ascii" spinner. /// public static Spinner Ascii { get; } = new AsciiSpinner(); /// /// Gets the "dots" spinner. /// public static Spinner Dots { get; } = new DotsSpinner(); /// /// Gets the "dots2" spinner. /// public static Spinner Dots2 { get; } = new Dots2Spinner(); /// /// Gets the "dots3" spinner. /// public static Spinner Dots3 { get; } = new Dots3Spinner(); /// /// Gets the "dots4" spinner. /// public static Spinner Dots4 { get; } = new Dots4Spinner(); /// /// Gets the "dots5" spinner. /// public static Spinner Dots5 { get; } = new Dots5Spinner(); /// /// Gets the "dots6" spinner. /// public static Spinner Dots6 { get; } = new Dots6Spinner(); /// /// Gets the "dots7" spinner. /// public static Spinner Dots7 { get; } = new Dots7Spinner(); /// /// Gets the "dots8" spinner. /// public static Spinner Dots8 { get; } = new Dots8Spinner(); /// /// Gets the "dots9" spinner. /// public static Spinner Dots9 { get; } = new Dots9Spinner(); /// /// Gets the "dots10" spinner. /// public static Spinner Dots10 { get; } = new Dots10Spinner(); /// /// Gets the "dots11" spinner. /// public static Spinner Dots11 { get; } = new Dots11Spinner(); /// /// Gets the "dots12" spinner. /// public static Spinner Dots12 { get; } = new Dots12Spinner(); /// /// Gets the "dots8Bit" spinner. /// public static Spinner Dots8Bit { get; } = new Dots8BitSpinner(); /// /// Gets the "line" spinner. /// public static Spinner Line { get; } = new LineSpinner(); /// /// Gets the "line2" spinner. /// public static Spinner Line2 { get; } = new Line2Spinner(); /// /// Gets the "pipe" spinner. /// public static Spinner Pipe { get; } = new PipeSpinner(); /// /// Gets the "simpleDots" spinner. /// public static Spinner SimpleDots { get; } = new SimpleDotsSpinner(); /// /// Gets the "simpleDotsScrolling" spinner. /// public static Spinner SimpleDotsScrolling { get; } = new SimpleDotsScrollingSpinner(); /// /// Gets the "star" spinner. /// public static Spinner Star { get; } = new StarSpinner(); /// /// Gets the "star2" spinner. /// public static Spinner Star2 { get; } = new Star2Spinner(); /// /// Gets the "flip" spinner. /// public static Spinner Flip { get; } = new FlipSpinner(); /// /// Gets the "hamburger" spinner. /// public static Spinner Hamburger { get; } = new HamburgerSpinner(); /// /// Gets the "growVertical" spinner. /// public static Spinner GrowVertical { get; } = new GrowVerticalSpinner(); /// /// Gets the "growHorizontal" spinner. /// public static Spinner GrowHorizontal { get; } = new GrowHorizontalSpinner(); /// /// Gets the "balloon" spinner. /// public static Spinner Balloon { get; } = new BalloonSpinner(); /// /// Gets the "balloon2" spinner. /// public static Spinner Balloon2 { get; } = new Balloon2Spinner(); /// /// Gets the "noise" spinner. /// public static Spinner Noise { get; } = new NoiseSpinner(); /// /// Gets the "bounce" spinner. /// public static Spinner Bounce { get; } = new BounceSpinner(); /// /// Gets the "boxBounce" spinner. /// public static Spinner BoxBounce { get; } = new BoxBounceSpinner(); /// /// Gets the "boxBounce2" spinner. /// public static Spinner BoxBounce2 { get; } = new BoxBounce2Spinner(); /// /// Gets the "triangle" spinner. /// public static Spinner Triangle { get; } = new TriangleSpinner(); /// /// Gets the "arc" spinner. /// public static Spinner Arc { get; } = new ArcSpinner(); /// /// Gets the "circle" spinner. /// public static Spinner Circle { get; } = new CircleSpinner(); /// /// Gets the "squareCorners" spinner. /// public static Spinner SquareCorners { get; } = new SquareCornersSpinner(); /// /// Gets the "circleQuarters" spinner. /// public static Spinner CircleQuarters { get; } = new CircleQuartersSpinner(); /// /// Gets the "circleHalves" spinner. /// public static Spinner CircleHalves { get; } = new CircleHalvesSpinner(); /// /// Gets the "squish" spinner. /// public static Spinner Squish { get; } = new SquishSpinner(); /// /// Gets the "toggle" spinner. /// public static Spinner Toggle { get; } = new ToggleSpinner(); /// /// Gets the "toggle2" spinner. /// public static Spinner Toggle2 { get; } = new Toggle2Spinner(); /// /// Gets the "toggle3" spinner. /// public static Spinner Toggle3 { get; } = new Toggle3Spinner(); /// /// Gets the "toggle4" spinner. /// public static Spinner Toggle4 { get; } = new Toggle4Spinner(); /// /// Gets the "toggle5" spinner. /// public static Spinner Toggle5 { get; } = new Toggle5Spinner(); /// /// Gets the "toggle6" spinner. /// public static Spinner Toggle6 { get; } = new Toggle6Spinner(); /// /// Gets the "toggle7" spinner. /// public static Spinner Toggle7 { get; } = new Toggle7Spinner(); /// /// Gets the "toggle8" spinner. /// public static Spinner Toggle8 { get; } = new Toggle8Spinner(); /// /// Gets the "toggle9" spinner. /// public static Spinner Toggle9 { get; } = new Toggle9Spinner(); /// /// Gets the "toggle10" spinner. /// public static Spinner Toggle10 { get; } = new Toggle10Spinner(); /// /// Gets the "toggle11" spinner. /// public static Spinner Toggle11 { get; } = new Toggle11Spinner(); /// /// Gets the "toggle12" spinner. /// public static Spinner Toggle12 { get; } = new Toggle12Spinner(); /// /// Gets the "toggle13" spinner. /// public static Spinner Toggle13 { get; } = new Toggle13Spinner(); /// /// Gets the "arrow" spinner. /// public static Spinner Arrow { get; } = new ArrowSpinner(); /// /// Gets the "arrow2" spinner. /// public static Spinner Arrow2 { get; } = new Arrow2Spinner(); /// /// Gets the "arrow3" spinner. /// public static Spinner Arrow3 { get; } = new Arrow3Spinner(); /// /// Gets the "bouncingBar" spinner. /// public static Spinner BouncingBar { get; } = new BouncingBarSpinner(); /// /// Gets the "bouncingBall" spinner. /// public static Spinner BouncingBall { get; } = new BouncingBallSpinner(); /// /// Gets the "smiley" spinner. /// public static Spinner Smiley { get; } = new SmileySpinner(); /// /// Gets the "monkey" spinner. /// public static Spinner Monkey { get; } = new MonkeySpinner(); /// /// Gets the "hearts" spinner. /// public static Spinner Hearts { get; } = new HeartsSpinner(); /// /// Gets the "clock" spinner. /// public static Spinner Clock { get; } = new ClockSpinner(); /// /// Gets the "earth" spinner. /// public static Spinner Earth { get; } = new EarthSpinner(); /// /// Gets the "material" spinner. /// public static Spinner Material { get; } = new MaterialSpinner(); /// /// Gets the "moon" spinner. /// public static Spinner Moon { get; } = new MoonSpinner(); /// /// Gets the "runner" spinner. /// public static Spinner Runner { get; } = new RunnerSpinner(); /// /// Gets the "pong" spinner. /// public static Spinner Pong { get; } = new PongSpinner(); /// /// Gets the "shark" spinner. /// public static Spinner Shark { get; } = new SharkSpinner(); /// /// Gets the "dqpb" spinner. /// public static Spinner Dqpb { get; } = new DqpbSpinner(); /// /// Gets the "weather" spinner. /// public static Spinner Weather { get; } = new WeatherSpinner(); /// /// Gets the "christmas" spinner. /// public static Spinner Christmas { get; } = new ChristmasSpinner(); /// /// Gets the "grenade" spinner. /// public static Spinner Grenade { get; } = new GrenadeSpinner(); /// /// Gets the "point" spinner. /// public static Spinner Point { get; } = new PointSpinner(); /// /// Gets the "layer" spinner. /// public static Spinner Layer { get; } = new LayerSpinner(); /// /// Gets the "betaWave" spinner. /// public static Spinner BetaWave { get; } = new BetaWaveSpinner(); /// /// Gets the "aesthetic" spinner. /// public static Spinner Aesthetic { get; } = new AestheticSpinner(); } } }