//------------------------------------------------------------------------------
//
// 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();
}
}
}