Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: light-weight styling markup #872

Merged
merged 6 commits into from
Oct 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
</Choose>

<PropertyGroup Condition="'$(IsMarkupProject)'=='true'">
<IsPackable>false</IsPackable>
<IsPackable>true</IsPackable>
</PropertyGroup>

<PropertyGroup Condition="'$(IsTestProject)'=='false'">
Expand Down
6 changes: 3 additions & 3 deletions src/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
<PackageVersion Include="Uno.Core.Extensions.Logging" Version="4.0.1" />
<PackageVersion Include="Uno.Cupertino" Version="3.0.0-dev.352" />
<PackageVersion Include="Uno.Cupertino.WinUI" Version="3.0.0-dev.352" />
<PackageVersion Include="Uno.Extensions.Markup.Generators" Version="5.0.0-dev.407" />
<PackageVersion Include="Uno.Extensions.Markup.Generators" Version="5.0.0-dev.517" />
<PackageVersion Include="Uno.SourceGenerationTasks" Version="4.2.0" />
<PackageVersion Include="Uno.WinUI.Markup" Version="5.0.0-dev.407" />
<PackageVersion Include="Uno.WinUI.Markup" Version="5.0.0-dev.517" />
<PackageVersion Include="Uno.Material" Version="3.0.0-dev.352" />
<PackageVersion Include="Uno.Material.WinUI" Version="3.0.0-dev.352" />
<PackageVersion Include="Uno.UI" Version="5.0.0-dev.1728" />
Expand All @@ -41,4 +41,4 @@
<PackageVersion Include="Microsoft.Net.Compilers.Toolset" Version="4.7.0-2.final" />
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="7.0.0-preview1.22518.1" />
</ItemGroup>
</Project>
</Project>
2 changes: 2 additions & 0 deletions src/Uno.Toolkit.sln
Original file line number Diff line number Diff line change
Expand Up @@ -2060,6 +2060,7 @@ Global
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.AppStore|x86.ActiveCfg = Release|Any CPU
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Debug|Android.ActiveCfg = Debug|Any CPU
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Debug|ARM.ActiveCfg = Debug|Any CPU
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Debug|iPhone.ActiveCfg = Debug|Any CPU
Expand All @@ -2075,6 +2076,7 @@ Global
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Debug|x86.ActiveCfg = Debug|Any CPU
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Release|Android.ActiveCfg = Release|Any CPU
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Release|Any CPU.Build.0 = Release|Any CPU
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Release|ARM.ActiveCfg = Release|Any CPU
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Release|ARM64.ActiveCfg = Release|Any CPU
{83C3F373-8CAA-4127-9E7E-6474D9E9BCD4}.Release|iPhone.ActiveCfg = Release|Any CPU
Expand Down
4 changes: 2 additions & 2 deletions src/library/Uno.Toolkit.WinUI.Markup/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using Uno.Extensions.Markup.Generator;
using System.Reflection;
using System.Reflection;
using Uno.Extensions.Markup.Generator;

[assembly: GenerateMarkupForAssembly(typeof(Uno.Toolkit.UI.ToolkitResources))]
[assembly: AssemblyMetadata("IsTrimmable", "True")]
22 changes: 9 additions & 13 deletions src/library/Uno.Toolkit.WinUI.Markup/MarkupInit.cs
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
using Microsoft.UI.Xaml;
using System;
using System.Collections.Generic;
using System.Text;

namespace Uno.Toolkit.UI
namespace Uno.Toolkit.UI.Markup;

/// <summary>
/// Application helper extensions for easy initialization of <see cref="ToolkitResources"/>
/// </summary>
public static class MarkupInit
{
/// <summary>
/// Application helper extensions for easy initialization of <see cref="ToolkitResources"/>
/// Initializes and adds the <see cref="ToolkitResources"/> to the MergedDictionaries of <see cref="Application.Resources"/>
/// </summary>
public static class MarkupInit
{
/// <summary>
/// Initializes and adds the <see cref="ToolkitResources"/> to the MergedDictionaries of <see cref="Application.Resources"/>
/// </summary>
public static T UseToolkit<T>(this T app) where T : Application
=> app.Resources(r => r.Merged(new ToolkitResources()));
}
public static T UseToolkit<T>(this T app) where T : Application
=> app.Resources(r => r.Merged(new ToolkitResources()));
}
222 changes: 222 additions & 0 deletions src/library/Uno.Toolkit.WinUI.Markup/Theme/Card.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Media;
using Uno.Extensions.Markup;
using Uno.Extensions.Markup.Internals;

namespace Uno.Toolkit.UI.Markup;

public static partial class Theme
{
public static partial class Card
{
public static partial class Resources
{
public static partial class Avatar
{
public static partial class Elevated
{
public static partial class Background
{
[ResourceKeyDefinition(typeof(Brush), "AvatarElevatedCardBackground")]
public static ThemeResourceKey<Brush> Default => new("AvatarElevatedCardBackground");
}

public static partial class BorderBrush
{
[ResourceKeyDefinition(typeof(Brush), "AvatarElevatedCardBorderBrush")]
public static ThemeResourceKey<Brush> Default => new("AvatarElevatedCardBorderBrush");

[ResourceKeyDefinition(typeof(Brush), "AvatarElevatedCardBorderBrushFocused")]
public static ThemeResourceKey<Brush> Focused => new("AvatarElevatedCardBorderBrushFocused");

[ResourceKeyDefinition(typeof(Brush), "AvatarElevatedCardBorderBrushPointerOver")]
public static ThemeResourceKey<Brush> PointerOver => new("AvatarElevatedCardBorderBrushPointerOver");
}
}

public static partial class Filled
{
public static partial class Background
{
[ResourceKeyDefinition(typeof(Brush), "AvatarFilledCardBackground")]
public static ThemeResourceKey<Brush> Default => new("AvatarFilledCardBackground");
}

public static partial class BorderBrush
{
[ResourceKeyDefinition(typeof(Brush), "AvatarFilledCardBorderBrush")]
public static ThemeResourceKey<Brush> Default => new("AvatarFilledCardBorderBrush");

[ResourceKeyDefinition(typeof(Brush), "AvatarFilledCardBorderBrushFocused")]
public static ThemeResourceKey<Brush> Focused => new("AvatarFilledCardBorderBrushFocused");

[ResourceKeyDefinition(typeof(Brush), "AvatarFilledCardBorderBrushPointerOver")]
public static ThemeResourceKey<Brush> PointerOver => new("AvatarFilledCardBorderBrushPointerOver");
}
}

public static partial class Outlined
{
public static partial class Background
{
[ResourceKeyDefinition(typeof(Brush), "AvatarOutlinedCardBackground")]
public static ThemeResourceKey<Brush> Default => new("AvatarOutlinedCardBackground");
}

public static partial class BorderBrush
{
[ResourceKeyDefinition(typeof(Brush), "AvatarOutlinedCardBorderBrush")]
public static ThemeResourceKey<Brush> Default => new("AvatarOutlinedCardBorderBrush");
}
}
}

public static partial class Elevated
{
public static partial class Background
{
[ResourceKeyDefinition(typeof(Brush), "ElevatedCardBackground")]
public static ThemeResourceKey<Brush> Default => new("ElevatedCardBackground");
}

public static partial class BorderBrush
{
[ResourceKeyDefinition(typeof(Brush), "ElevatedCardBorderBrush")]
public static ThemeResourceKey<Brush> Default => new("ElevatedCardBorderBrush");

[ResourceKeyDefinition(typeof(Brush), "ElevatedCardBorderBrushFocused")]
public static ThemeResourceKey<Brush> Focused => new("ElevatedCardBorderBrushFocused");

[ResourceKeyDefinition(typeof(Brush), "ElevatedCardBorderBrushPointerOver")]
public static ThemeResourceKey<Brush> PointerOver => new("ElevatedCardBorderBrushPointerOver");
}
}

public static partial class Filled
{
public static partial class Background
{
[ResourceKeyDefinition(typeof(Brush), "FilledCardBackground")]
public static ThemeResourceKey<Brush> Default => new("FilledCardBackground");
}

public static partial class BorderBrush
{
[ResourceKeyDefinition(typeof(Brush), "FilledCardBorderBrush")]
public static ThemeResourceKey<Brush> Default => new("FilledCardBorderBrush");

[ResourceKeyDefinition(typeof(Brush), "FilledCardBorderBrushFocused")]
public static ThemeResourceKey<Brush> Focused => new("FilledCardBorderBrushFocused");

[ResourceKeyDefinition(typeof(Brush), "FilledCardBorderBrushPointerOver")]
public static ThemeResourceKey<Brush> PointerOver => new("FilledCardBorderBrushPointerOver");
}
}

public static partial class Outlined
{
public static partial class Background
{
[ResourceKeyDefinition(typeof(Brush), "OutlinedCardBackground")]
public static ThemeResourceKey<Brush> Default => new("OutlinedCardBackground");
}

public static partial class BorderBrush
{
[ResourceKeyDefinition(typeof(Brush), "OutlinedCardBorderBrush")]
public static ThemeResourceKey<Brush> Default => new("OutlinedCardBorderBrush");
}
}

public static partial class SmallMedia
{
public static partial class Elevated
{
public static partial class Background
{
[ResourceKeyDefinition(typeof(Brush), "SmallMediaElevatedCardBackground")]
public static ThemeResourceKey<Brush> Default => new("SmallMediaElevatedCardBackground");
}

public static partial class BorderBrush
{
[ResourceKeyDefinition(typeof(Brush), "SmallMediaElevatedCardBorderBrush")]
public static ThemeResourceKey<Brush> Default => new("SmallMediaElevatedCardBorderBrush");

[ResourceKeyDefinition(typeof(Brush), "SmallMediaElevatedCardBorderBrushFocused")]
public static ThemeResourceKey<Brush> Focused => new("SmallMediaElevatedCardBorderBrushFocused");

[ResourceKeyDefinition(typeof(Brush), "SmallMediaElevatedCardBorderBrushPointerOver")]
public static ThemeResourceKey<Brush> PointerOver => new("SmallMediaElevatedCardBorderBrushPointerOver");
}
}

public static partial class Filled
{
public static partial class Background
{
[ResourceKeyDefinition(typeof(Brush), "SmallMediaFilledCardBackground")]
public static ThemeResourceKey<Brush> Default => new("SmallMediaFilledCardBackground");
}

public static partial class BorderBrush
{
[ResourceKeyDefinition(typeof(Brush), "SmallMediaFilledCardBorderBrush")]
public static ThemeResourceKey<Brush> Default => new("SmallMediaFilledCardBorderBrush");

[ResourceKeyDefinition(typeof(Brush), "SmallMediaFilledCardBorderBrushFocused")]
public static ThemeResourceKey<Brush> Focused => new("SmallMediaFilledCardBorderBrushFocused");

[ResourceKeyDefinition(typeof(Brush), "SmallMediaFilledCardBorderBrushPointerOver")]
public static ThemeResourceKey<Brush> PointerOver => new("SmallMediaFilledCardBorderBrushPointerOver");
}
}

public static partial class Outlined
{
public static partial class Background
{
[ResourceKeyDefinition(typeof(Brush), "SmallMediaOutlinedCardBackground")]
public static ThemeResourceKey<Brush> Default => new("SmallMediaOutlinedCardBackground");
}

public static partial class BorderBrush
{
[ResourceKeyDefinition(typeof(Brush), "SmallMediaOutlinedCardBorderBrush")]
public static ThemeResourceKey<Brush> Default => new("SmallMediaOutlinedCardBorderBrush");
}
}
}
}

public static partial class Styles
{
[ResourceKeyDefinition(typeof(Style), "FilledCardStyle", TargetType = typeof(global::Uno.Toolkit.UI.Card))]
public static StaticResourceKey<Style> Filled => new("FilledCardStyle");

[ResourceKeyDefinition(typeof(Style), "OutlinedCardStyle", TargetType = typeof(global::Uno.Toolkit.UI.Card))]
public static StaticResourceKey<Style> Outlined => new("OutlinedCardStyle");

[ResourceKeyDefinition(typeof(Style), "ElevatedCardStyle", TargetType = typeof(global::Uno.Toolkit.UI.Card))]
public static StaticResourceKey<Style> Elevated => new("ElevatedCardStyle");

[ResourceKeyDefinition(typeof(Style), "AvatarFilledCardStyle", TargetType = typeof(global::Uno.Toolkit.UI.Card))]
public static StaticResourceKey<Style> AvatarFilled => new("AvatarFilledCardStyle");

[ResourceKeyDefinition(typeof(Style), "AvatarOutlinedCardStyle", TargetType = typeof(global::Uno.Toolkit.UI.Card))]
public static StaticResourceKey<Style> AvatarOutlined => new("AvatarOutlinedCardStyle");

[ResourceKeyDefinition(typeof(Style), "AvatarElevatedCardStyle", TargetType = typeof(global::Uno.Toolkit.UI.Card))]
public static StaticResourceKey<Style> AvatarElevated => new("AvatarElevatedCardStyle");

[ResourceKeyDefinition(typeof(Style), "SmallMediaFilledCardStyle", TargetType = typeof(global::Uno.Toolkit.UI.Card))]
public static StaticResourceKey<Style> SmallMediaFilled => new("SmallMediaFilledCardStyle");

[ResourceKeyDefinition(typeof(Style), "SmallMediaOutlinedCardStyle", TargetType = typeof(global::Uno.Toolkit.UI.Card))]
public static StaticResourceKey<Style> SmallMediaOutlined => new("SmallMediaOutlinedCardStyle");

[ResourceKeyDefinition(typeof(Style), "SmallMediaElevatedCardStyle", TargetType = typeof(global::Uno.Toolkit.UI.Card))]
public static StaticResourceKey<Style> SmallMediaElevated => new("SmallMediaElevatedCardStyle");
}
}
}
90 changes: 90 additions & 0 deletions src/library/Uno.Toolkit.WinUI.Markup/Theme/CardContentControl.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Media;
using Uno.Extensions.Markup;
using Uno.Extensions.Markup.Internals;

namespace Uno.Toolkit.UI.Markup;

public static partial class Theme
{
public static partial class CardContentControl
{
public static partial class Resources
{
public static partial class Elevated
{
public static partial class Background
{
[ResourceKeyDefinition(typeof(Brush), "ElevatedCardContentBackground")]
public static ThemeResourceKey<Brush> Default => new("ElevatedCardContentBackground");
}

public static partial class BorderBrush
{
[ResourceKeyDefinition(typeof(Brush), "ElevatedCardContentBorderBrush")]
public static ThemeResourceKey<Brush> Default => new("ElevatedCardContentBorderBrush");

[ResourceKeyDefinition(typeof(Brush), "ElevatedCardContentBorderBrushFocused")]
public static ThemeResourceKey<Brush> Focused => new("ElevatedCardContentBorderBrushFocused");

[ResourceKeyDefinition(typeof(Brush), "ElevatedCardContentBorderBrushPointerOver")]
public static ThemeResourceKey<Brush> PointerOver => new("ElevatedCardContentBorderBrushPointerOver");

[ResourceKeyDefinition(typeof(Brush), "ElevatedCardContentBorderBrushPressed")]
public static ThemeResourceKey<Brush> Pressed => new("ElevatedCardContentBorderBrushPressed");
}
}

public static partial class Filled
{
public static partial class Background
{
[ResourceKeyDefinition(typeof(Brush), "FilledCardContentBackground")]
public static ThemeResourceKey<Brush> Default => new("FilledCardContentBackground");
}

public static partial class BorderBrush
{
[ResourceKeyDefinition(typeof(Brush), "FilledCardContentBorderBrush")]
public static ThemeResourceKey<Brush> Default => new("FilledCardContentBorderBrush");

[ResourceKeyDefinition(typeof(Brush), "FilledCardContentBorderBrushFocused")]
public static ThemeResourceKey<Brush> Focused => new("FilledCardContentBorderBrushFocused");

[ResourceKeyDefinition(typeof(Brush), "FilledCardContentBorderBrushPointerOver")]
public static ThemeResourceKey<Brush> PointerOver => new("FilledCardContentBorderBrushPointerOver");

[ResourceKeyDefinition(typeof(Brush), "FilledCardContentBorderBrushPressed")]
public static ThemeResourceKey<Brush> Pressed => new("FilledCardContentBorderBrushPressed");
}
}

public static partial class Outlined
{
public static partial class Background
{
[ResourceKeyDefinition(typeof(Brush), "OutlinedCardContentBackground")]
public static ThemeResourceKey<Brush> Default => new("OutlinedCardContentBackground");
}

public static partial class BorderBrush
{
[ResourceKeyDefinition(typeof(Brush), "OutlinedCardContentBorderBrush")]
public static ThemeResourceKey<Brush> Default => new("OutlinedCardContentBorderBrush");
}
}
}

public static partial class Styles
{
[ResourceKeyDefinition(typeof(Style), "FilledCardContentControlStyle", TargetType = typeof(global::Uno.Toolkit.UI.CardContentControl))]
public static StaticResourceKey<Style> Filled => new("FilledCardContentControlStyle");

[ResourceKeyDefinition(typeof(Style), "OutlinedCardContentControlStyle", TargetType = typeof(global::Uno.Toolkit.UI.CardContentControl))]
public static StaticResourceKey<Style> Outlined => new("OutlinedCardContentControlStyle");

[ResourceKeyDefinition(typeof(Style), "ElevatedCardContentControlStyle", TargetType = typeof(global::Uno.Toolkit.UI.CardContentControl))]
public static StaticResourceKey<Style> Elevated => new("ElevatedCardContentControlStyle");
}
}
}
Loading
Loading