3 instantiations of TrayPanelPalette
Aspire.Tray.Tests (3)
src\Aspire.Tray\Common\TrayPanelPalette.cs (3)
110
public static TrayPanelPalette Light { get; } =
new
(
139
public static TrayPanelPalette Dark { get; } =
new
(
190
PanelColor grayText) =>
new
(
138 references to TrayPanelPalette
Aspire.Tray.Tests (138)
src\Aspire.Tray\Common\TrayPanel.cs (17)
51
private
TrayPanelPalette
_palette;
73
public TrayPanel(TrayViewState state,
TrayPanelPalette
palette)
81
public
TrayPanelPalette
Palette
722
var
palette = _palette;
927
private void AddHeader(List<PanelCommand> commands, TrayViewState state,
TrayPanelPalette
palette)
942
private void AddNotice(List<PanelCommand> commands, string notice, bool singleLine, double height,
TrayPanelPalette
palette)
958
private void AddEmptyState(List<PanelCommand> commands, DiscoveryState discovery, double top,
TrayPanelPalette
palette)
985
TrayViewState state,
TrayPanelPalette
palette)
1023
double top, bool live, bool showPid,
TrayPanelPalette
palette)
1141
double top, double height,
TrayPanelPalette
palette)
1213
double top,
TrayPanelPalette
palette)
1266
private void AddSettingsHeader(List<PanelCommand> commands, List<PanelHitTarget> targets,
TrayPanelPalette
palette)
1279
double top,
TrayPanelPalette
palette)
1305
private void AddAbout(List<PanelCommand> commands, PanelSettings settings, double top,
TrayPanelPalette
palette)
1324
private void AddFooter(List<PanelCommand> commands, List<PanelHitTarget> targets, PanelRect footer,
TrayPanelPalette
palette)
1352
private void AddInteractionFill(List<PanelCommand> commands, PanelTargetKey key, PanelRect bounds,
TrayPanelPalette
palette, bool includeFocus)
1435
internal static (string Text, PanelColor Dot) GetHeaderStatus(TrayViewState state,
TrayPanelPalette
palette)
src\Aspire.Tray\Common\TrayPanelGlyphs.cs (2)
52
public static void AddStatus(List<PanelCommand> commands, PanelStatusGlyph glyph, PanelRect bounds,
TrayPanelPalette
palette)
204
public static void AddToggle(List<PanelCommand> commands, bool on, bool enabled, PanelRect bounds,
TrayPanelPalette
palette)
src\Aspire.Tray\Common\TrayPanelPalette.cs (4)
110
public static
TrayPanelPalette
Light { get; } = new(
139
public static
TrayPanelPalette
Dark { get; } = new(
172
public
TrayPanelPalette
WithIncreasedContrast() => this with
189
public static
TrayPanelPalette
FromSystemColors(PanelColor window, PanelColor windowText, PanelColor highlight,
TrayPanelTests.cs (115)
33
private static TrayPanel CreatePanel(string name,
TrayPanelPalette
palette, double maxHeight = TrayPanel.DefaultMaxHeight)
70
var panel = CreatePanel(name,
TrayPanelPalette
.Light, maxHeight: 600);
93
var scene = CreatePanel(name,
TrayPanelPalette
.Dark).Scene;
111
var scene = CreatePanel(name,
TrayPanelPalette
.Light).Scene;
123
var commands = CreatePanel(name,
TrayPanelPalette
.Light).Scene.Commands;
131
var scene = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light).Scene;
143
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
157
var panel = new TrayPanel(TrayPanelSamples.Empty(),
TrayPanelPalette
.Light);
168
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
186
var panel = new TrayPanel(state,
TrayPanelPalette
.Light) { OpenInApplications = s_applications };
214
var panel = new TrayPanel(state,
TrayPanelPalette
.Light) { OpenInApplications = s_applications, FileManagerName = "File Explorer" };
245
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
265
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
285
var panel = new TrayPanel(state,
TrayPanelPalette
.Light) { OpenInApplications = s_applications };
315
var panel = new TrayPanel(state,
TrayPanelPalette
.Light) { OpenInApplications = s_applications };
342
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
352
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
365
var panel = new TrayPanel(state,
TrayPanelPalette
.Light) { MaxHeight = 400 };
379
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
384
Assert.Contains(panel.Scene.Commands.OfType<StrokePathCommand>(), stroke => stroke.Color ==
TrayPanelPalette
.Light.Focus);
391
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
407
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
418
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
432
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
449
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
466
var panel = new TrayPanel(TrayPanelSamples.Many(),
TrayPanelPalette
.Light) { MaxHeight = 480 };
489
var panel = new TrayPanel(state,
TrayPanelPalette
.Light) { MaxHeight = 400 };
502
var panel = new TrayPanel(state,
TrayPanelPalette
.Light) { MaxHeight = 400 };
515
Assert.Contains(panel.Scene.Commands.OfType<StrokePathCommand>(), stroke => stroke.Color ==
TrayPanelPalette
.Light.Focus);
523
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
543
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
553
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
566
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
578
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
592
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
605
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
618
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
630
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
650
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
667
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
694
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
707
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
714
text => text.Text == "Could not read launch at sign-in: denied" && text.Color ==
TrayPanelPalette
.Light.Danger);
720
var panel = new TrayPanel(TrayPanelSamples.Many(),
TrayPanelPalette
.Light) { MaxHeight = 400 };
742
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
763
TrayPanelGlyphs.AddToggle(commands, on, enabled: true, box,
TrayPanelPalette
.Light);
772
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
785
var panel = new TrayPanel(TrayPanelSamples.Many(),
TrayPanelPalette
.Light) { MaxHeight = 400 };
802
var (text, _) = TrayPanel.GetHeaderStatus(new((DiscoveryState)discovery, [], ""),
TrayPanelPalette
.Light);
810
Assert.Equal("3 running · 1 needs attention", TrayPanel.GetHeaderStatus(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light).Text);
811
Assert.Equal("No AppHosts running", TrayPanel.GetHeaderStatus(TrayPanelSamples.Empty(),
TrayPanelPalette
.Light).Text);
813
TrayPanel.GetHeaderStatus(TrayPanelSamples.Errors(),
TrayPanelPalette
.Light).Text);
828
var scene = new TrayPanel(TrayPanelSamples.Errors(),
TrayPanelPalette
.Light).Scene;
859
foreach (
var
palette in new[] {
TrayPanelPalette
.Light,
TrayPanelPalette
.Dark,
860
TrayPanelPalette
.FromSystemColors(new(0, 0, 0), new(255, 255, 255), new(26, 235, 255), new(63, 242, 63)) })
894
var scene = new TrayPanel(state,
TrayPanelPalette
.Light).Scene;
899
Assert.Equal(TrayPanel.GetHeaderStatus(state,
TrayPanelPalette
.Light).Text, status.Name);
907
var withNotice = new TrayPanel(TrayPanelSamples.Errors(),
TrayPanelPalette
.Light);
908
var without = new TrayPanel(TrayPanelSamples.Errors() with { Notice = null },
TrayPanelPalette
.Light);
969
TrayPanelGlyphs.AddStatus(commands, glyph, box,
TrayPanelPalette
.Light);
998
TrayPanelGlyphs.AddIcon(commands, icon, box,
TrayPanelPalette
.Light.TextPrimary);
1007
Assert.Equal(new PanelColor(0xF9, 0xF9, 0xFB),
TrayPanelPalette
.Light.Background);
1008
Assert.Equal(new PanelColor(0x6A, 0x4B, 0xD6),
TrayPanelPalette
.Light.Accent);
1009
Assert.Equal(new PanelColor(0, 0, 0, 20),
TrayPanelPalette
.Light.Separator);
1010
Assert.Equal(new PanelColor(0x25, 0x25, 0x29),
TrayPanelPalette
.Dark.Background);
1011
Assert.Equal(new PanelColor(255, 255, 255, 18),
TrayPanelPalette
.Dark.Hover);
1021
var
palette = name == "dark" ?
TrayPanelPalette
.Dark :
TrayPanelPalette
.Light;
1032
Assert.True(
TrayPanelPalette
.ContrastRatio(label.Color, fill.Color) >= 4.5, $"{name}: {
TrayPanelPalette
.ContrastRatio(label.Color, fill.Color):F2}:1");
1033
Assert.True(
TrayPanelPalette
.ContrastRatio(palette.OnColor, PanelColor.FromRgba(0, 0, 0, 0.22).Over(palette.DangerFill)) >= 4.5);
1044
var
palette = name == "dark" ?
TrayPanelPalette
.Dark :
TrayPanelPalette
.Light;
1049
Assert.All(backgrounds, background => Assert.True(
TrayPanelPalette
.ContrastRatio(text, background) >= 4.5,
1050
$"{name}: {text.ToHex()} on {background.ToHex()} is {
TrayPanelPalette
.ContrastRatio(text, background):F2}:1"));
1052
Assert.True(
TrayPanelPalette
.ContrastRatio(palette.OnColor, palette.DangerFill) >= 4.5);
1066
private static
TrayPanelPalette
ContrastPalette(string name) => name switch
1068
"light" =>
TrayPanelPalette
.Light,
1069
"dark" =>
TrayPanelPalette
.Dark,
1070
"light-contrast" =>
TrayPanelPalette
.Light.WithIncreasedContrast(),
1071
"dark-contrast" =>
TrayPanelPalette
.Dark.WithIncreasedContrast(),
1072
"hc-black" =>
TrayPanelPalette
.FromSystemColors(new(0, 0, 0), new(255, 255, 255), new(26, 235, 255), new(63, 242, 63)),
1073
"hc-white" =>
TrayPanelPalette
.FromSystemColors(new(255, 255, 255), new(0, 0, 0), new(55, 0, 110), new(96, 0, 0)),
1074
"hc-aquatic" =>
TrayPanelPalette
.FromSystemColors(new(32, 32, 32), new(255, 255, 255), new(142, 227, 240), new(167, 167, 167)),
1075
"hc-desert" =>
TrayPanelPalette
.FromSystemColors(new(255, 250, 239), new(61, 61, 61), new(144, 57, 4), new(103, 103, 103)),
1076
_ =>
TrayPanelPalette
.FromSystemColors(new(0, 0, 0), new(255, 255, 255), new(26, 235, 255), new(40, 40, 40))
1085
var
palette = ContrastPalette(name);
1094
var ratio =
TrayPanelPalette
.ContrastRatio(mark, disc);
1095
Assert.True(ratio >=
TrayPanelPalette
.MinimumMarkContrast, $"{name} {glyph}: {mark.ToHex()} on {disc.ToHex()} is {ratio:F2}:1");
1116
Assert.Equal([white, dark, white, white], Marks(
TrayPanelPalette
.Light));
1117
Assert.Equal([dark, dark, white, white], Marks(
TrayPanelPalette
.Dark));
1119
Assert.Equal(white,
TrayPanelPalette
.Light.OnColor);
1120
Assert.Equal(white,
TrayPanelPalette
.Dark.OnColor);
1122
static PanelColor[] Marks(
TrayPanelPalette
palette)
1129
var
palette =
TrayPanelPalette
.FromSystemColors(new(0, 0, 0), new(255, 255, 255), new(26, 235, 255), new(63, 242, 63));
1142
var svg = TrayPanelSvgRenderer.Render(CreatePanel(name,
TrayPanelPalette
.Dark).Scene);
1162
foreach (
var
palette in new[] {
TrayPanelPalette
.Light,
TrayPanelPalette
.Dark })
1192
var scene = CreatePanel(name,
TrayPanelPalette
.Light).Scene;
1205
var scene = new TrayPanel(state,
TrayPanelPalette
.Light).Scene;
1206
var (status, _) = TrayPanel.GetHeaderStatus(state,
TrayPanelPalette
.Light);
1222
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
1240
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
1256
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
1268
var panel = new TrayPanel(TrayPanelSamples.Many(),
TrayPanelPalette
.Light) { MaxHeight = 400 };
1287
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light);
1304
var panel = new TrayPanel(state,
TrayPanelPalette
.Light);
1329
var panel = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light) { QuitVerb = verb };
1341
var scene = new TrayPanel(TrayPanelSamples.Typical(),
TrayPanelPalette
.Light).Scene;