Uno.Material 2.0.0-dev.179

Prefix Reserved
This is a prerelease version of Uno.Material.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Uno.Material --version 2.0.0-dev.179                
NuGet\Install-Package Uno.Material -Version 2.0.0-dev.179                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Uno.Material" Version="2.0.0-dev.179" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Uno.Material --version 2.0.0-dev.179                
#r "nuget: Uno.Material, 2.0.0-dev.179"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Uno.Material as a Cake Addin
#addin nuget:?package=Uno.Material&version=2.0.0-dev.179&prerelease

// Install Uno.Material as a Cake Tool
#tool nuget:?package=Uno.Material&version=2.0.0-dev.179&prerelease                

Uno Material

This library is designed to help you use the material design system. It includes :

  • Color system for both Light and Dark theme
  • Styles for existing WinUI controls like Buttons, TextBox, etc.

Quickly visualize all the available controls through this zeplin link

Platform support:

  • WinUI / UWP
  • iOS
  • MacOS
  • Android
  • WebAssembly
  • Linux (Skia.Gtk)

Uno Material

Uno Material Design Guideline is a resource for designers and software developers that combines Material and Uno design guidance in single document. It is an easy way to kickstart design and implementation of cross-platform experiences with unified Material design system look and feel, using Sketch and Uno Platform.

Download the Uno Platform Design Guidelines sketch file to get started.

It includes:

  • Uno-Material components
  • Uno type resource names
  • Uno asset naming and export guidance

License

Getting Started

  1. Install the nuget package Uno.Material.
  2. Unless you want our default color palette (inspired by our Uno logo), you'll want to override the following color resources in you application. We suggest creating a ColorPaletteOverride.xaml ResourceDictionary. For more information on the color system, consult this page for all the official documentation and tools to help you create your own palette. Here is what ColorPaletteOverride.xaml would contain if you want both light and dark theme.
<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

	
	<ResourceDictionary.ThemeDictionaries>
		
		<ResourceDictionary x:Key="Light">
			<Color x:Key="MaterialPrimaryColor">#5B4CF5</Color>
			<Color x:Key="MaterialPrimaryVariantDarkColor">#353FE5</Color>
			<Color x:Key="MaterialPrimaryVariantLightColor">#B6A8FB</Color>
			<Color x:Key="MaterialSecondaryColor">#67E5AD</Color>
			<Color x:Key="MaterialSecondaryVariantDarkColor">#2BB27E</Color>
			<Color x:Key="MaterialSecondaryVariantLightColor">#9CFFDF</Color>
			<Color x:Key="MaterialBackgroundColor">#FFFFFF</Color>
			<Color x:Key="MaterialSurfaceColor">#FFFFFF</Color>
			<Color x:Key="MaterialErrorColor">#F85977</Color>
			<Color x:Key="MaterialOnPrimaryColor">#FFFFFF</Color>
			<Color x:Key="MaterialOnSecondaryColor">#000000</Color>
			<Color x:Key="MaterialOnBackgroundColor">#000000</Color>
			<Color x:Key="MaterialOnSurfaceColor">#000000</Color>
			<Color x:Key="MaterialOnErrorColor">#000000</Color>
			<Color x:Key="MaterialOverlayColor">#51000000</Color>
		</ResourceDictionary>

		
		<ResourceDictionary x:Key="Dark">
			<Color x:Key="MaterialPrimaryColor">#B6A8FB</Color>
			<Color x:Key="MaterialPrimaryVariantDarkColor">#353FE5</Color>
			<Color x:Key="MaterialPrimaryVariantLightColor">#D4CBFC</Color>
			<Color x:Key="MaterialSecondaryColor">#67E5AD</Color>
			<Color x:Key="MaterialSecondaryVariantDarkColor">#2BB27E</Color>
			<Color x:Key="MaterialSecondaryVariantLightColor">#9CFFDF</Color>
			<Color x:Key="MaterialBackgroundColor">#121212</Color>
			<Color x:Key="MaterialSurfaceColor">#121212</Color>
			<Color x:Key="MaterialErrorColor">#CF6679</Color>
			<Color x:Key="MaterialOnPrimaryColor">#000000</Color>
			<Color x:Key="MaterialOnSecondaryColor">#000000</Color>
			<Color x:Key="MaterialOnBackgroundColor">#FFFFFF</Color>
			<Color x:Key="MaterialOnSurfaceColor">#DEFFFFFF</Color>
			<Color x:Key="MaterialOnErrorColor">#000000</Color>
			<Color x:Key="MaterialOverlayColor">#51FFFFFF</Color>
		</ResourceDictionary>
	</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>

  1. Initialize the material resources. The order in which the different resources are loaded is important. Add this to App.xaml
<MaterialColors xmlns="using:Uno.Material"
				OverrideSource="ms-appx:///ColorPaletteOverride.xaml" />
<MaterialResources xmlns="using:Uno.Material" />
  1. (Optional) The material ProgressBar is built on top for the WinUI ProgressBar so make sure you include the appropriate resources in your App.xaml
	<Application.Resources>
		<ResourceDictionary>
			<ResourceDictionary.MergedDictionaries>
				
				<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>

				<MaterialColors xmlns="using:Uno.Material"
								OverrideSource="ms-appx:///ColorPaletteOverride.xaml" />
				<MaterialResources xmlns="using:Uno.Material" />
				
				
			</ResourceDictionary.MergedDictionaries>
		</ResourceDictionary>
	</Application.Resources>
  1. Start using the styles in your pages!
  • To use styles, just find the name of the style from our documentation or sample app and use it like this
<Button Content="CONTAINED"
	Style="{StaticResource MaterialContainedButtonStyle}"/>
  1. In order to display the appropriate font with the material styles on Webassembly, make sure that the Roboto font is defined on font.css located at [YourProject].Wasm/WasmCSS. This make sure that the font is loaded correctly Related Issue. It should look like this:
@font-face {
  font-family: "Symbols";
  /* winjs-symbols.woff2: https://github.com/Microsoft/fonts/tree/master/Symbols */
  src: url(data:application/x-font-woff;charset=utf-8;base64,[...]);
}

@font-face {
  font-family: "Roboto";
  src: url(data:application/x-font-woff;charset=utf-8;base64,[...]);
}

body::after {
	font-family: 'Roboto';
	background: transparent;
	content: "";
	opacity: 0;
	pointer-events: none;
	position: absolute;
}
  1. (Optional) Set material styles as the default for your whole application.

     <MaterialResources xmlns="using:Uno.Material" WithImplicitStyles="True" />
    

    Alternatively, if you wish to only have the default styles for certain controls, simply add the implicit styles to your App.xaml:

     <Application.Resources>
     	<ResourceDictionary>
     		<ResourceDictionary.MergedDictionaries>
     			<MaterialColors xmlns="using:Uno.Material" />
     			<MaterialResources xmlns="using:Uno.Material" />
    
    
     			<ResourceDictionary>
     				<Style TargetType="Button" BasedOn="{StaticResource MaterialContainedButtonStyle}"/>
     				<Style TargetType="TextBox" BasedOn="{StaticResource MaterialFilledTextBoxStyle}"/>
     			</ResourceDictionary>
     		</ResourceDictionary.MergedDictionaries>
     	</ResourceDictionary>
     </Application.Resources>
    

    Learn more about implicit styles from the Microsoft documentation here

  2. (Optional) Per-control customization. Just like WinUI, we documented a set of control-specific resources you can override to further customize our controls. For example, if you would like change the CornerRadius of all the Buttons using our material styles, you could simply override the ButtonBorderRadius value in your resources (in App.xaml would be the simplest way to put the following code)

<CornerRadius x:Key="ButtonBorderRadius">4</CornerRadius>
  1. (Optional) If you are using our ToggleSwitches to get proper Material styling in Android there is some extra code to be added to the Android Project Head. (Click the component name to see how to set them up)

  2. (Optional) If you are using our DatePickers, and TimePickers to get proper Material styling in Android there is some extra code to be added to the Android Project Head. (Click the component name to see how to set them up)

Features

Styles for basic controls

Controls StyleNames
Button MaterialContainedButtonStyle <br> MaterialOutlinedButtonStyle <br> MaterialTextButtonStyle <br> MaterialButtonIconStyle <br> MaterialContainedSecondaryButtonStyle <br> MaterialOutlinedSecondaryButtonStyle<br> MaterialTextSecondaryButtonStyle <br> MaterialButtonIconStyle
Button (FAB) <br> Floating Action Button MaterialFabStyle <br> MaterialSmallFabStyle <br> MaterialSecondaryFabStyle <br> MaterialPrimaryInvertedFabStyle <br> MaterialSecondaryInvertedFabStyle
CalendarDatePicker MaterialCalendarDatePickerStyle
CalendarView MaterialCalendarViewStyle
CheckBox MaterialCheckBoxStyle <br> MaterialSecondaryCheckBoxStyle
ComboBox MaterialComboBoxStyle <br> MaterialComboBoxItemStyle
CommandBar MaterialCommandBarStyle <br> MaterialAppBarButton
DatePicker MaterialDatePickerStyle
Flyout MaterialFlyoutPresenterStyle <br> MaterialContentFlyoutPresenterStyle
MenuFlyout MaterialMenuFMaterialMUXNoCompactMenuNavigationViewStylelyoutPresenterStyle <br> MaterialMenuFlyoutItemStyle <br> MaterialToggleMenuFlyoutItemStyle <br> MaterialMenuFlyoutSubItemStyle <br> MaterialMenuFlyoutSeparatorStyle
HyperlinkButton MaterialHyperlinkButtonStyle <br> MaterialSecondaryHyperlinkButtonStyle
muxc:InfoBar MaterialInfoBarStyle
ListView MaterialListViewStyle <br> MaterialListViewDetailsStyle <br> MaterialListViewItemStyle
NavigationView MaterialWUXNavigationViewStyle <br> MaterialWUXNoCompactMenuNavigationViewStyle <br> MaterialWUXNavigationViewItemStyle
muxc:NavigationView MaterialNavigationViewStyle <br> MaterialNavigationViewItemStyle
PasswordBox MaterialFilledPasswordBoxStyle <br> MaterialOutlinedPasswordBoxStyle
muxc:ProgressBar MaterialProgressBarStyle <br> MaterialSecondaryProgressBarStyle
muxc:ProgressRing MaterialProgressRingStyle <br> MaterialSecondaryProgressRingStyle
RadioButton MaterialRadioButtonStyle <br> MaterialSecondaryRadioButtonStyle
muxc:RatingControl MaterialRatingControlStyle <br> MaterialSecondaryRatingControlStyle
muxc:Slider MaterialSliderStyle <br> MaterialSecondarySliderStyle
TextBlock MaterialHeadline1 <br> MaterialHeadline2 <br> MaterialHeadline3 <br> MaterialHeadline4 <br> MaterialHeadline5 <br> MaterialHeadline6 <br> MaterialSubtitle1 <br> MaterialSubtitle2 <br> MaterialBody1 <br> MaterialBody2 <br> MaterialButtonText <br> MaterialCaption <br> MaterialOverline
TextBox MaterialFilledTextBoxStyle <br> MaterialOutlinedTextBoxStyle
ToggleButton MaterialTextToggleButtonStyle <br> MaterialToggleButtonIconStyle
ToggleSwitch MaterialToggleSwitchStyle <br> MaterialSecondaryToggleSwitchStyle

Controls Setup (Specialized)

ToggleSwitch

If you are using our ToggleSwitches to get the proper native colors on android their is some modification needed. The reasoning for this is to apply the native android shadowing on the off value of the ToggleSwitch, and proper focus shadow colors when ToggleSwitches are clicked

  1. From your Android project head go to YourProject.Droid/Resources/values/Styles.xml Inside your AppTheme add two item's "colorControlActivated" (the on color for your ToggleSwitches thumb) and "colorSwitchThumbNormal" (the off color for your ToggleSwitches thumb) you may add your colors here directly, for example #ffffff, or by files (see our example code below)
<?xml version="1.0" encoding="utf-8" ?>
<resources>
	<style name="AppTheme" parent="Theme.AppCompat.Light">

		
		<item name="colorControlActivated">@color/MaterialPrimaryColor</item>
		<item name="colorSwitchThumbNormal">@color/MaterialSurfaceVariantColor</item>
	</style>
</resources>

  1. (Optional) If your application uses Light/Dark color palettes. 2.1 Inside the Styles.xml file change the AppTheme's parent to Theme.Compat.DayNight
<?xml version="1.0" encoding="utf-8" ?>
<resources>
	<style name="AppTheme" parent="Theme.AppCompat.DayNight">

		
		<item name="colorControlActivated">@color/MaterialPrimaryColor</item>
		<item name="colorSwitchThumbNormal">@color/MaterialSurfaceVariantColor</item>
	</style>
</resources>

2.2 From your Android project head go to YourProject.Droid/Resources/values create a file called "colors.xml", inside include your "Light" theme colors.

<?xml version="1.0" encoding="utf-8" ?>
<resources>
	<color name="MaterialPrimaryColor">#5B4CF5</color>
	
	<color name="MaterialSurfaceVariantColor">#FFFFFF</color>
</resources>

2.3 From your Android project head go to YourProject.Droid/Resources create a folder called "values-night", inside the folder add a file called "colors.xml", and inside the file include your "Dark" theme colors.

<?xml version="1.0" encoding="utf-8" ?>
<resources>
	<color name="MaterialPrimaryColor">#B6A8FB</color>
	
	 <color name="MaterialSurfaceVariantColor">#808080</color>
</resources>

2.3 (Optional) If you have changed the material color palette for your application (2.) then there are two more colors that must be overridden for android native ToggleSwitch disabled colors to be properly applied. Colors are named PrimaryVariantDisabledThumbColor and SurfaceVariantLightColor, they can be overridden in your colors.xaml file. PrimaryVariantDisabledThumbColor is a non-transparent version of PrimaryDisabled color ("Light") in "Light" palette, and a non-transparent version of PrimaryMedium color ("Dark") in "Dark" palette. SurfaceVariantLightColor is the Surface color however in "Light" Palette is an off white color to be visible on light backgrounds.


	<ResourceDictionary.ThemeDictionaries>

		
		<ResourceDictionary x:Key="Light">
			
			<Color x:Key="PrimaryVariantDisabledThumbColor">#E9E5FA</Color>
			
			<Color x:Key="SurfaceVariantLightColor">#F7F7F7</Color>
		</ResourceDictionary>

		
		<ResourceDictionary x:Key="Dark">
			
			<Color x:Key="PrimaryVariantDisabledThumbColor">#57507C</Color>
			<Color x:Key="SurfaceVariantLightColor">#121212</Color>
		</ResourceDictionary>
	</ResourceDictionary.ThemeDictionaries>

DatePickers and TimePickers

If your application uses DatePickers and/or TimePickers (these are native components). To apply your material colors to these android components, do the following (this will affect every DatePicker/TimePicker in the application).

  1. From your Android project head go to YourProject.Droid/Resources/values/Styles.xml Inside your AppTheme add two item's "datePickerDialogTheme" (the style for your DatePicker) and "timePickerDialogTheme" (the style for your TimePicker), and a new Style with the MaterialPrimary Color as AccentColor (see our example code below)
<?xml version="1.0" encoding="utf-8" ?>
<resources>
	<style name="AppTheme" parent="Theme.AppCompat.Light">

		
		<item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>
		<item name="android:timePickerDialogTheme">@style/AppCompatDialogStyle</item>
	</style>

	<style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
		<item name="colorAccent">@color/MaterialPrimaryColor</item>
	</style>
</resources>

  1. (Optional) If your application uses Light/Dark color palettes. 2.1 Inside the Styles.xml file change the AppTheme's parent of both styles to Theme.Compat.DayNight
<?xml version="1.0" encoding="utf-8" ?>
<resources>
	<style name="AppTheme" parent="Theme.AppCompat.DayNight">

		
		<item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>
		<item name="android:timePickerDialogTheme">@style/AppCompatDialogStyle</item>
	</style>

	<style name="AppCompatDialogStyle" parent="Theme.AppCompat.DayNight.Dialog">
		<item name="colorAccent">@color/MaterialPrimaryColor</item>
	</style>
</resources>

2.2 From your Android project head go to YourProject.Droid/Resources/values create a file called "colors.xml", inside include your "Light" theme colors.

<?xml version="1.0" encoding="utf-8" ?>
<resources>
	<color name="MaterialPrimaryColor">#5B4CF5</color>
</resources>

2.3 From your Android project head go to YourProject.Droid/Resources create a folder called "values-night", inside the folder add a file called "colors.xml", and inside the file include your "Dark" theme colors.

<?xml version="1.0" encoding="utf-8" ?>
<resources>
	<color name="MaterialPrimaryColor">#B6A8FB</color>
</resources>

Migration

1.0 to 1.1

  • Color Palette Override

    Now you have the possibility to override the Material color palette with your own color palette. See the #Getting Started section for more details.

      <MaterialColors xmlns="using:Uno.Material"
      				OverrideSource="ms-appx:///ColorPaletteOverride.xaml" />
    
  • Namespace breaking changes

    BREAKING CHANGE: Everything (controls, extensions, converters, ...), previously under Uno.Material.* or Uno.Cupertino.*, has now been moved under Uno.Material or Uno.Cupertino.

      xmlns:um="using:Uno.Material"
      xmlns:uc="using:Uno.Cupertino"
    
  • Some controls have been moved to Uno.Toolkit.UI

    List of the controls and styles that have been moved to Uno.Toolkit.UI:

    Controls StyleNames
    Card MaterialOutlinedCardStyle <br> MaterialElevatedCardStyle <br> MaterialAvatarOutlinedCardStyle <br> MaterialAvatarElevatedCardStyle <br> MaterialSmallMediaOutlinedCardStyle <br> MaterialSmallMediaElevatedCardStyle
    Chip MaterialFilledInputChipStyle<br>MaterialFilledChoiceChipStyle<br>MaterialFilledFilterChipStyle<br>MaterialFilledActionChipStyle<br>MaterialOutlinedInputChipStyle<br>MaterialOutlinedChoiceChipStyle<br>MaterialOutlinedFilterChipStyle<br>MaterialOutlinedActionChipStyle
    ChipGroup MaterialFilledInputChipGroupStyle<br>MaterialFilledChoiceChipGroupStyle<br>MaterialFilledFilterChipGroupStyle<br>MaterialFilledActionChipGroupStyle<br>MaterialOutlinedInputChipGroupStyle<br>MaterialOutlinedChoiceChipGroupStyle<br>MaterialOutlinedFilterChipGroupStyle<br>MaterialOutlinedActionChipGroupStyle
    Divider MaterialDividerStyle
  • Some controls have been removed

    List of the controls and styles that have been removed from Uno.Themes:

    Controls StyleNames
    BottomNavigationBar MaterialBottomNavigationBarStyle
    ExpandingBottomSheet MaterialExpandingBottomSheetStyle
    ModalStandardBottomSheet MaterialModalStandardBottomSheetStyle
    StandardBottomSheet MaterialStandardBottomSheetStyle
    SnackBar MaterialSnackBarStyle
    • BottomNavigationBar was replaced by TabBar in Uno.Toolkit.UI, but it is not an exact 1:1 replacement. In the mean time, if you really need the badge and/or other customizability, two options are available:

      Import locally the old sources (control + style) from Uno.Themes;

      OR

      Copy the MaterialBottomTabBarItemStyle from Uno.Toolkit.UI, and modify the style to suit your needs. (Note that there are two copies of the style, one for iOS and Android and one for rest of the platforms: UWP, Skia, WASM, etc...);

    • For StandardBottomSheet and ModalStandardBottomSheet It's replaced by using a Flyout and the MaterialFlyoutPresenterStyle that is allowing you to have a bottom sheet.

      For example:

        <Flyout Placement="Full"
              LightDismissOverlayMode="On"
              FlyoutPresenterStyle="{StaticResource MaterialFlyoutPresenterStyle}">
        	<Grid MaxHeight="370"
        		  VerticalAlignment="Bottom">
        		...Your bottom sheet content...
        	</Grid>
        </Flyout>
      
    • For SnackBar: so far no replacement for SnackBar has been added to Uno.Toolkit.UI, but it's planned to add one in a future version.

Changelog

Please consult the CHANGELOG for more information about version history.

License

This project is licensed under the Apache 2.0 license - see the LICENSE file for details.

Contributing

Please read CONTRIBUTING.md for details on the process for contributing to this project.

Be mindful of our Code of Conduct.

Acknowledgments

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-android31.0 is compatible.  net6.0-ios was computed.  net6.0-ios15.2 is compatible.  net6.0-maccatalyst was computed.  net6.0-maccatalyst15.2 is compatible.  net6.0-macos was computed.  net6.0-macos12.1 is compatible.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed.  monoandroid11.0 is compatible. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap10.0.18362 is compatible. 
Xamarin.iOS xamarinios was computed.  xamarinios10 is compatible. 
Xamarin.Mac xamarinmac was computed.  xamarinmac20 is compatible. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Uno.Material:

Package Downloads
Uno.Toolkit.UI.Material

A set of controls for Uno Platform, UWP and WinUI

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Uno.Material:

Repository Stars
unoplatform/Uno.Samples
A collection of code samples for the Uno Platform
Version Downloads Last updated
5.4.0-dev.19 154 11/14/2024
5.4.0-dev.18 281 10/31/2024
5.4.0-dev.12 31 10/31/2024
5.4.0-dev.10 49 10/30/2024
5.4.0-dev.6 59 10/28/2024
5.4.0-dev.2 140 10/17/2024
5.3.1 180 10/31/2024
5.3.0-dev.8 430 9/19/2024
5.3.0-dev.6 40 9/19/2024
5.3.0-dev.5 41 9/19/2024
5.3.0-dev.4 797 9/16/2024
5.3.0-dev.3 114 9/11/2024
5.3.0-dev.1 61 9/11/2024
5.2.5 145 9/25/2024
5.2.0-dev.23 105 9/9/2024
5.2.0-dev.22 101 9/4/2024
5.2.0-dev.21 41 9/4/2024
5.2.0-dev.20 58 9/3/2024
5.2.0-dev.17 204 8/23/2024
5.2.0-dev.16 98 8/21/2024
5.2.0-dev.15 192 8/9/2024
5.2.0-dev.14 103 7/31/2024
5.2.0-dev.13 180 7/16/2024
5.2.0-dev.11 54 7/15/2024
5.2.0-dev.9 354 6/25/2024
5.2.0-dev.7 65 6/20/2024
5.2.0-dev.5 53 6/20/2024
5.2.0-dev.3 52 6/19/2024
5.2.0-dev.2 54 6/18/2024
5.2.0-dev.1 47 6/17/2024
5.1.9 117 9/11/2024
5.1.7 152 7/22/2024
5.1.6 150 7/22/2024
5.1.0-dev.36 211 6/4/2024
5.1.0-dev.35 93 6/4/2024
5.1.0-dev.33 153 5/30/2024
5.1.0-dev.31 230 5/23/2024
5.1.0-dev.29 62 5/23/2024
5.1.0-dev.26 231 5/13/2024
5.1.0-dev.25 50 5/13/2024
5.1.0-dev.24 81 5/11/2024
5.1.0-dev.23 103 5/9/2024
5.1.0-dev.19 271 4/23/2024
5.1.0-dev.18 167 4/16/2024
5.1.0-dev.16 51 4/16/2024
5.1.0-dev.13 104 4/13/2024
5.1.0-dev.12 65 4/12/2024
5.1.0-dev.11 67 4/11/2024
5.1.0-dev.10 55 4/11/2024
5.1.0-dev.8 96 4/8/2024
5.0.13 654 4/22/2024
5.0.0-dev.86 184 4/3/2024
4.2.0-dev.31 63 4/3/2024
4.2.0-dev.30 107 3/28/2024
4.2.0-dev.26 115 3/25/2024
4.2.0-dev.25 85 3/22/2024
4.2.0-dev.24 55 3/22/2024
4.2.0-dev.19 393 3/2/2024
4.2.0-dev.18 133 2/25/2024
4.2.0-dev.17 4,606 2/13/2024
4.2.0-dev.12 169 2/7/2024
4.2.0-dev.11 155 2/6/2024
4.2.0-dev.10 86 2/5/2024
4.2.0-dev.9 238 2/1/2024
4.2.0-dev.6 171 1/31/2024
4.2.0-dev.5 83 1/30/2024
4.2.0-dev.2 68 1/29/2024
4.2.0-dev.1 57 1/29/2024
4.1.1 234 2/2/2024
4.1.0 388 1/30/2024
4.1.0-dev.52 116 1/24/2024
4.1.0-dev.50 59 1/24/2024
4.1.0-dev.49 202 1/12/2024
4.1.0-dev.45 377 12/20/2023
4.1.0-dev.43 80 12/20/2023
4.1.0-dev.39 853 12/13/2023
4.1.0-dev.35 176 12/6/2023
4.1.0-dev.33 100 12/5/2023
4.1.0-dev.32 103 12/4/2023
4.1.0-dev.31 132 12/1/2023
4.1.0-dev.30 100 11/29/2023
4.1.0-dev.29 194 11/21/2023
4.1.0-dev.28 106 11/18/2023
4.1.0-dev.27 94 11/17/2023
4.1.0-dev.26 70 11/16/2023
4.1.0-dev.25 74 11/16/2023
4.1.0-dev.24 1,012 11/13/2023
4.1.0-dev.19 203 11/6/2023
4.1.0-dev.17 74 11/6/2023
4.1.0-dev.15 76 11/6/2023
4.1.0-dev.8 153 11/3/2023
4.1.0-dev.7 78 11/3/2023
4.1.0-dev.1 172 10/30/2023
4.0.6 277 11/7/2023
4.0.4 862 11/1/2023
4.0.0-dev.188 129 10/27/2023
4.0.0-dev.187 80 10/27/2023
4.0.0-dev.186 103 10/26/2023
4.0.0-dev.184 81 10/26/2023
4.0.0-dev.183 94 10/26/2023
4.0.0-dev.182 135 10/24/2023
4.0.0-dev.180 302 10/13/2023
4.0.0-dev.178 153 10/10/2023
4.0.0-dev.175 82 10/10/2023
4.0.0-dev.174 170 10/6/2023
4.0.0-dev.167 126 10/4/2023
4.0.0-dev.166 75 10/4/2023
4.0.0-dev.164 103 10/3/2023
4.0.0-dev.162 105 10/2/2023
4.0.0-dev.161 125 9/30/2023
4.0.0-dev.160 104 9/29/2023
4.0.0-dev.159 81 9/29/2023
4.0.0-dev.157 84 9/29/2023
4.0.0-dev.156 95 9/29/2023
4.0.0-dev.152 76 9/28/2023
4.0.0-dev.151 80 9/28/2023
4.0.0-dev.150 77 9/28/2023
4.0.0-dev.149 82 9/28/2023
4.0.0-dev.148 71 9/28/2023
4.0.0-dev.147 81 9/28/2023
4.0.0-dev.146 117 9/26/2023
4.0.0-dev.140 149 9/22/2023
4.0.0-dev.139 98 9/20/2023
4.0.0-dev.126 454 8/30/2023
4.0.0-dev.124 145 8/30/2023
3.1.0-dev.96 1,642 8/31/2023
3.1.0-dev.94 117 8/30/2023
3.0.40 470 9/6/2023
2.8.0-dev.6 417 8/30/2023
2.8.0-dev.2 131 8/29/2023
2.7.0-dev.104 315 8/16/2023
2.7.0-dev.102 595 8/16/2023
2.7.0-dev.99 97 8/15/2023
2.7.0-dev.97 224 8/11/2023
2.7.0-dev.95 97 8/11/2023
2.7.0-dev.89 107 8/10/2023
2.7.0-dev.88 132 8/7/2023
2.7.0-dev.86 100 8/7/2023
2.7.0-dev.84 104 8/7/2023
2.7.0-dev.81 106 8/7/2023
2.7.0-dev.61 99 8/7/2023
2.7.0-dev.59 145 8/4/2023
2.7.0-dev.56 111 8/3/2023
2.7.0-dev.54 106 8/3/2023
2.7.0-dev.53 167 8/1/2023
2.7.0-dev.47 109 8/1/2023
2.7.0-dev.45 111 8/1/2023
2.7.0-dev.41 129 7/31/2023
2.7.0-dev.39 319 7/26/2023
2.7.0-dev.37 109 7/26/2023
2.7.0-dev.35 102 7/25/2023
2.7.0-dev.33 114 7/24/2023
2.7.0-dev.31 112 7/24/2023
2.7.0-dev.29 116 7/24/2023
2.7.0-dev.27 109 7/24/2023
2.7.0-dev.25 98 7/14/2023
2.7.0-dev.23 102 7/12/2023
2.7.0-dev.21 139 6/29/2023
2.7.0-dev.20 103 6/27/2023
2.7.0-dev.19 95 6/27/2023
2.7.0-dev.18 121 6/19/2023
2.7.0-dev.17 106 6/16/2023
2.7.0-dev.16 110 6/14/2023
2.7.0-dev.15 106 6/13/2023
2.7.0-dev.13 92 6/13/2023
2.7.0-dev.12 99 6/12/2023
2.7.0-dev.11 175 6/7/2023
2.7.0-dev.10 95 6/7/2023
2.7.0-dev.8 105 6/7/2023
2.7.0-dev.7 102 6/5/2023
2.7.0-dev.6 97 6/5/2023
2.7.0-dev.5 103 6/2/2023
2.7.0-dev.2 112 5/30/2023
2.7.0-dev.1 102 5/30/2023
2.6.1 420 6/7/2023
2.6.0 2,526 6/5/2023
2.6.0-dev.25 372 5/28/2023
2.6.0-dev.24 127 5/25/2023
2.6.0-dev.21 105 5/25/2023
2.6.0-dev.19 195 5/16/2023
2.6.0-dev.17 240 5/4/2023
2.6.0-dev.14 489 3/28/2023
2.6.0-dev.5 204 3/16/2023
2.6.0-dev.2 160 3/13/2023
2.5.3 3,344 3/16/2023
2.5.2 212 3/16/2023
2.5.0-dev.44 134 3/10/2023
2.5.0-dev.43 138 3/9/2023
2.5.0-dev.41 145 3/8/2023
2.5.0-dev.40 170 3/4/2023
2.5.0-dev.39 140 3/2/2023
2.5.0-dev.38 159 2/28/2023
2.5.0-dev.37 1,390 2/23/2023
2.5.0-dev.34 228 2/22/2023
2.5.0-dev.31 157 2/17/2023
2.5.0-dev.26 127 2/16/2023
2.5.0-dev.20 143 2/15/2023
2.5.0-dev.19 172 2/8/2023
2.5.0-dev.15 577 1/23/2023
2.5.0-dev.14 225 1/13/2023
2.5.0-dev.10 138 1/12/2023
2.5.0-dev.6 162 12/31/2022
2.5.0-dev.3 141 12/23/2022
2.5.0-dev.1 134 12/22/2022
2.4.1 3,125 12/13/2022
2.4.0-dev.68 302 11/24/2022
2.4.0-dev.66 103 11/23/2022
2.4.0-dev.64 134 11/17/2022
2.4.0-dev.62 167 11/7/2022
2.4.0-dev.60 122 11/3/2022
2.4.0-dev.59 103 11/3/2022
2.4.0-dev.57 108 11/3/2022
2.4.0-dev.53 115 11/2/2022
2.4.0-dev.46 146 11/1/2022
2.4.0-dev.42 142 10/27/2022
2.4.0-dev.40 115 10/27/2022
2.4.0-dev.38 159 10/20/2022
2.4.0-dev.33 769 10/6/2022
2.4.0-dev.31 510 9/30/2022
2.4.0-dev.29 108 9/30/2022
2.4.0-dev.26 119 9/29/2022
2.4.0-dev.24 104 9/29/2022
2.4.0-dev.19 171 9/22/2022
2.4.0-dev.17 118 9/21/2022
2.4.0-dev.13 143 9/15/2022
2.4.0-dev.11 170 9/14/2022
2.4.0-dev.7 152 9/14/2022
2.3.0 6,626 9/12/2022
2.3.0-dev.20 121 9/9/2022
2.3.0-dev.17 114 9/9/2022
2.3.0-dev.12 1,821 8/31/2022
2.3.0-dev.10 103 8/31/2022
2.3.0-dev.8 107 8/30/2022
2.3.0-dev.6 3,856 8/12/2022
2.3.0-dev.4 729 7/22/2022
2.2.0 1,487 6/29/2022
2.2.0-dev.7 135 6/28/2022
2.2.0-dev.5 157 6/20/2022
2.2.0-dev.2 138 6/17/2022
2.1.0 3,745 6/10/2022
2.1.0-dev.51 135 6/10/2022
2.1.0-dev.48 142 6/8/2022
2.1.0-dev.46 126 6/8/2022
2.1.0-dev.44 134 6/8/2022
2.1.0-dev.42 121 6/7/2022
2.1.0-dev.40 610 6/7/2022
2.1.0-dev.37 164 6/3/2022
2.1.0-dev.35 126 6/3/2022
2.1.0-dev.33 122 6/3/2022
2.1.0-dev.31 147 6/3/2022
2.1.0-dev.29 132 6/3/2022
2.1.0-dev.27 137 6/2/2022
2.1.0-dev.25 129 6/2/2022
2.1.0-dev.23 117 6/2/2022
2.1.0-dev.20 125 6/2/2022
2.1.0-dev.18 127 6/2/2022
2.1.0-dev.16 125 6/1/2022
2.1.0-dev.13 126 6/1/2022
2.1.0-dev.11 133 6/1/2022
2.1.0-dev.9 127 6/1/2022
2.1.0-dev.5 166 5/24/2022
2.1.0-dev.2 122 5/23/2022
2.0.0 880 5/23/2022
2.0.0-dev.228 124 5/23/2022
2.0.0-dev.226 128 5/23/2022
2.0.0-dev.224 121 5/23/2022
2.0.0-dev.222 122 5/23/2022
2.0.0-dev.220 130 5/23/2022
2.0.0-dev.218 123 5/23/2022
2.0.0-dev.216 169 5/21/2022
2.0.0-dev.214 118 5/21/2022
2.0.0-dev.210 370 5/20/2022
2.0.0-dev.208 127 5/20/2022
2.0.0-dev.206 129 5/19/2022
2.0.0-dev.204 124 5/19/2022
2.0.0-dev.203 127 5/19/2022
2.0.0-dev.201 184 5/13/2022
2.0.0-dev.198 124 5/13/2022
2.0.0-dev.195 387 5/12/2022
2.0.0-dev.193 150 5/11/2022
2.0.0-dev.191 128 5/10/2022
2.0.0-dev.189 136 5/10/2022
2.0.0-dev.187 121 5/9/2022
2.0.0-dev.185 123 5/9/2022
2.0.0-dev.183 128 5/3/2022
2.0.0-dev.181 183 4/28/2022
2.0.0-dev.179 475 4/28/2022
2.0.0-dev.177 129 4/27/2022
2.0.0-dev.175 139 4/25/2022
2.0.0-dev.172 218 4/22/2022
2.0.0-dev.170 128 4/22/2022
2.0.0-dev.168 153 4/21/2022
2.0.0-dev.166 130 4/21/2022
2.0.0-dev.164 134 4/21/2022
2.0.0-dev.162 129 4/20/2022
2.0.0-dev.156 139 4/16/2022
2.0.0-dev.154 212 4/14/2022
2.0.0-dev.152 135 4/14/2022
2.0.0-dev.150 128 4/13/2022
2.0.0-dev.146 128 4/13/2022
1.4.0-dev.34 456 4/12/2022
1.4.0-dev.30 916 3/31/2022
1.4.0-dev.21 129 3/30/2022
1.4.0-dev.17 270 3/25/2022
1.4.0-dev.12 286 3/24/2022
1.4.0-dev.6 449 3/8/2022
1.3.3 6,407 4/12/2022
1.3.2 144 4/11/2022
1.3.1 1,002 3/9/2022
1.3.0-dev.19 3,884 1/10/2022
1.3.0-dev.17 162 1/4/2022
1.3.0-dev.12 149 1/3/2022
1.3.0-dev.4 267 12/17/2021
1.2.0 3,470 12/15/2021
1.2.0-dev.15 195 12/15/2021
1.2.0-dev.13 206 12/15/2021
1.2.0-dev.8 230 12/8/2021
1.2.0-dev.6 308 12/8/2021
1.2.0-dev.4 209 12/7/2021
1.2.0-dev.2 217 12/7/2021
1.1.0 302 12/6/2021
1.1.0-dev.70 648 12/2/2021
1.1.0-dev.68 199 12/2/2021
1.1.0-dev.66 1,445 12/1/2021
1.1.0-dev.64 1,300 11/29/2021
1.1.0-dev.62 1,830 11/26/2021
1.1.0-dev.57 3,219 11/25/2021
1.1.0-dev.55 2,762 11/25/2021
1.1.0-dev.53 2,998 11/24/2021
1.1.0-dev.51 2,737 11/24/2021
1.1.0-dev.49 3,993 11/24/2021
1.1.0-dev.47 3,223 11/24/2021
1.1.0-dev.45 2,974 11/24/2021
1.1.0-dev.43 5,657 11/23/2021
1.1.0-dev.41 209 11/23/2021
1.1.0-dev.39 206 11/23/2021
1.1.0-dev.37 312 11/22/2021
1.1.0-dev.35 518 11/21/2021
1.1.0-dev.33 504 11/21/2021
1.1.0-dev.31 793 11/19/2021
1.1.0-dev.29 710 11/19/2021
1.1.0-dev.27 230 11/19/2021
1.1.0-dev.25 286 11/19/2021
1.1.0-dev.22 203 11/19/2021
1.1.0-dev.19 278 11/19/2021
1.1.0-dev.17 261 11/18/2021
1.1.0-dev.15 296 11/17/2021
1.1.0-dev.13 369 11/15/2021
1.1.0-dev.11 206 11/15/2021
1.1.0-dev.9 238 11/15/2021
1.1.0-dev.7 509 11/9/2021
1.1.0-dev.5 272 10/29/2021
1.0.3 557 11/3/2021
1.0.2 5,231 11/2/2021
1.0.0-dev.851 279 10/28/2021
1.0.0-dev.848 220 10/27/2021
1.0.0-dev.846 255 10/26/2021
1.0.0-dev.844 216 10/25/2021
1.0.0-dev.842 829 10/20/2021
1.0.0-dev.840 235 10/20/2021
1.0.0-dev.838 714 10/15/2021
1.0.0-dev.836 203 10/14/2021
1.0.0-dev.834 569 10/7/2021
1.0.0-dev.832 947 10/4/2021
1.0.0-dev.830 465 9/29/2021
1.0.0-dev.827 1,205 9/16/2021
1.0.0-dev.825 3,197 9/14/2021
1.0.0-dev.823 324 9/8/2021
1.0.0-dev.812 10,559 9/3/2021
1.0.0-dev.810 654 8/27/2021
1.0.0-dev.802 365 8/6/2021
1.0.0-dev.796 1,118 8/4/2021
1.0.0-dev.794 238 8/4/2021
1.0.0-dev.792 239 8/4/2021
1.0.0-dev.790 2,459 7/29/2021
1.0.0-dev.788 1,765 7/14/2021
1.0.0-dev.786 923 7/13/2021
1.0.0-dev.784 1,214 6/14/2021
1.0.0-dev.782 313 6/10/2021
1.0.0-dev.780 797 6/9/2021
1.0.0-dev.778 2,030 6/8/2021
1.0.0-dev.774 535 6/7/2021
1.0.0-dev.772 452 6/1/2021
1.0.0-dev.770 322 5/31/2021
1.0.0-dev.766 327 5/26/2021
1.0.0-dev.764 235 5/19/2021
1.0.0-dev.762 226 5/19/2021
1.0.0-dev.760 318 5/7/2021
1.0.0-dev.758 273 5/5/2021
1.0.0-dev.755 231 5/4/2021
1.0.0-dev.753 256 4/30/2021
1.0.0-dev.751 637 4/29/2021
1.0.0-dev.746 3,096 4/26/2021
1.0.0-dev.744 244 4/26/2021
1.0.0-dev.742 647 4/9/2021
1.0.0-dev.738 248 4/7/2021
1.0.0-dev.736 1,079 3/24/2021
1.0.0-dev.734 297 3/23/2021
1.0.0-dev.732 790 3/19/2021
1.0.0-dev.726 257 3/19/2021
1.0.0-dev.715 328 3/17/2021
1.0.0-dev.674 269 3/4/2021
1.0.0-dev.637 705 2/26/2021
1.0.0-dev.625 283 2/16/2021
1.0.0-dev.612 807 2/10/2021
1.0.0-dev.603 461 2/9/2021
1.0.0-dev.600 303 2/8/2021
1.0.0-dev.598 3,243 2/5/2021
1.0.0-dev.592 3,238 1/28/2021
1.0.0-dev.589 1,553 1/20/2021
1.0.0-dev.585 309 1/12/2021
1.0.0-dev.578 20,243 10/29/2020
1.0.0-dev.515 2,401 8/12/2020
1.0.0-dev.507 955 8/12/2020

#  (2022-04-28)


### Bug Fixes

* [Material][Textbox] Add press state to delete button ([41c6713](https://github.com/unoplatform/Uno.Themes/commit/41c6713c6882daf7971767d29ac36df18db2851b))
* Add back TextButton Unfocused VisualState Setters and remove PointerFocused Setters ([3565233](https://github.com/unoplatform/Uno.Themes/commit/3565233277029f4919e41d85dc77e88fe64a521e))
* Add missing color brushes ([959fe36](https://github.com/unoplatform/Uno.Themes/commit/959fe36a6adb3d8747b7a188dc9d03965f69cd7d))
* **CheckBox:** Avoid resource name clash for Path Data resources with xamlmerge ([77e2b76](https://github.com/unoplatform/Uno.Themes/commit/77e2b761a605e04c30067154a7a8e5647bdc4061))
* Made TextBox uniform with PasswordBox. ([3ca25dd](https://github.com/unoplatform/Uno.Themes/commit/3ca25dd1e804039ed677f8a9e7de5c985084a635))
* material toggleswitch min-width ([c6066d2](https://github.com/unoplatform/Uno.Themes/commit/c6066d264eeaea7416af448e640163ae6af8e538))
* Remove PointerFocused VisualState Setters ([8d49604](https://github.com/unoplatform/Uno.Themes/commit/8d4960468b1b60763c9f1afa93343e4391aea932))
* Removed an old code piece. ([32a1544](https://github.com/unoplatform/Uno.Themes/commit/32a154457b4ca69401cefaf694e81a0793fde592))
* resource namespace mismatch ([537045e](https://github.com/unoplatform/Uno.Themes/commit/537045eeab1ce3488fd2e1a061b067655d52241e))
* uwp crash with WithImplicitStyles ([bc3b542](https://github.com/unoplatform/Uno.Themes/commit/bc3b542cfcc3e2ab319a12d845575424e245bbd3))


### Features

* Add M3 CalendarView/Picker styles, fix broken styles ([b63a189](https://github.com/unoplatform/Uno.Themes/commit/b63a1890947584c90947d266d8e9706a7726a885))
* Add M3 CommandBar/AppBarButton styles ([0dc2971](https://github.com/unoplatform/Uno.Themes/commit/0dc297146d25e05b798884167cebf2838083f9b3))
* Add M3 Common Buttons styles and samples ([6455233](https://github.com/unoplatform/Uno.Themes/commit/6455233bbfc436fc9e6de295f9a19190daf929ee))
* Add M3 ListView styles ([5d94ec3](https://github.com/unoplatform/Uno.Themes/commit/5d94ec3adbff2a65df46ec32f6f635a3a571c9b5))
* add M3 NavigationView + update default palette ([93184fa](https://github.com/unoplatform/Uno.Themes/commit/93184fa38161273d6a31078157e5b2c866312238))
* Add M3 ToggleButton styles ([615a5e9](https://github.com/unoplatform/Uno.Themes/commit/615a5e93731a7c82aefdd8a6b00b6d9ee4b185fc))
* Add Material Design 3 Flyout styles ([b60f376](https://github.com/unoplatform/Uno.Themes/commit/b60f3763a3a52aba9381590909e1082c4f2f5070))
* add more M3 implicit/shared styles ([9315afc](https://github.com/unoplatform/Uno.Themes/commit/9315afcb21e7f028ff635ad53817ba3cb65625e6))
* add style key aliases ([b223c4e](https://github.com/unoplatform/Uno.Themes/commit/b223c4e5d2056cd09200902a0c3c9e20b448bcc8))
* Add support for net6 mobile targets, bump to uno 4.2-dev ([c911f37](https://github.com/unoplatform/Uno.Themes/commit/c911f377e00d12f20660c48d6ccb8bc73d43a14b))