Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
vnbaaij committed Oct 9, 2024
2 parents 0c1a502 + 8469c9a commit 1671c73
Show file tree
Hide file tree
Showing 88 changed files with 1,272 additions and 171 deletions.
4 changes: 2 additions & 2 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>

<VersionFile>4.10.1</VersionFile>
<VersionPrefix>4.10.1</VersionPrefix>
<VersionFile>4.10.2</VersionFile>
<VersionPrefix>4.10.2</VersionPrefix>
<VersionSuffix></VersionSuffix>
<AssemblyVersion>$(VersionFile)</AssemblyVersion>
<FileVersion>$(VersionFile)</FileVersion>
Expand Down
26 changes: 13 additions & 13 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<RuntimeVersion8>8.0.0</RuntimeVersion8>
<AspNetCoreVersion8>8.0.8</AspNetCoreVersion8>
<EfCoreVersion8>8.0.8</EfCoreVersion8>
<RuntimeVersion9>9.0.0-rc.1.24431.7</RuntimeVersion9>
<AspNetCoreVersion9>9.0.0-rc.1.24452.1</AspNetCoreVersion9>
<EfCoreVersion9>9.0.0-rc.1.24451.1</EfCoreVersion9>
<AspNetCoreVersion8>8.0.10</AspNetCoreVersion8>
<EfCoreVersion8>8.0.10</EfCoreVersion8>
<RuntimeVersion9>9.0.0-rc.2.24473.5</RuntimeVersion9>
<AspNetCoreVersion9>9.0.0-rc.2.24474.3</AspNetCoreVersion9>
<EfCoreVersion9>9.0.0-rc.2.24474.1</EfCoreVersion9>
</PropertyGroup>
<ItemGroup>
<!-- For Sample Apps -->
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components" Version="4.10.0" />
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components.Icons" version="4.10.0" />
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components" Version="4.10.1" />
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components.Icons" version="4.10.1" />
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components.Emoji" Version="4.6.0" />
<!-- Test dependencies -->
<PackageVersion Include="bunit" Version="1.31.3" />
Expand All @@ -23,15 +23,15 @@
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
<!-- Shared dependencies -->
<PackageVersion Include="Markdig.Signed" Version="0.34.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0-beta1.24219.2" />
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.11.0" />
<PackageVersion Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.11.20" />
<PackageVersion Include="Microsoft.VisualStudioEng.MicroBuild.Core" Version="1.0.0" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='netstandard2.0'">
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="$(RuntimeVersion8)" />
<PackageVersion Include="System.Text.Encodings.Web" Version="$(RuntimeVersion8)" />
<PackageVersion Include="System.Text.Json" Version="8.0.4" />
<PackageVersion Include="System.Text.Json" Version="8.0.5" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net8.0'">
<!-- Build dependencies -->
Expand All @@ -41,13 +41,13 @@
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="$(RuntimeVersion8)" />
<PackageVersion Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(RuntimeVersion8)" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(RuntimeVersion8)" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="$(RuntimeVersion8)" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="$(RuntimeVersion8)" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.1" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="8.0.1" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="$(EfCoreVersion8)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="$(EfCoreVersion8)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="$(EfCoreVersion8)" />
<PackageVersion Include="System.Text.Encodings.Web" Version="$(RuntimeVersion8)" />
<PackageVersion Include="System.Text.Json" Version="8.0.4" />
<PackageVersion Include="System.Text.Json" Version="8.0.5" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net9.0'">
<!-- Build dependencies -->
Expand All @@ -65,4 +65,4 @@
<PackageVersion Include="System.Text.Encodings.Web" Version="$(RuntimeVersion9)" />
<PackageVersion Include="System.Text.Json" Version="$(RuntimeVersion9)" />
</ItemGroup>
</Project>
</Project>
134 changes: 134 additions & 0 deletions WHATSNEW.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,137 @@
## V4.10.2

### General
- \[General\] Update to latest .NET 8 and .NET 9 RC2 SDK.
- \[Debounce\] Fix the Debounce class with async methods ([#2759](https://github.com/microsoft/fluentui-blazor/pull/2759))

### Components
- \[Button\] Add StopPropagation + UnitTests ([#2732](https://github.com/microsoft/fluentui-blazor/pull/2732))
- \[DataGrid\] Add `HeaderTootip` to columns to allow for custom header tooltip text ([#2775](https://github.com/microsoft/fluentui-blazor/pull/2775))
- \[DataGrid\] Changes related to loading behavior ([#2739](https://github.com/microsoft/fluentui-blazor/pull/2739))
- \[DataGrid\] Fix disposed object access error in EntityFrameworkAdapter [#2769] ([#2781](https://github.com/microsoft/fluentui-blazor/pull/2781))
- \[DataGrid\] Support for multiple IAsyncQueryExecutor registrations ([#2730](https://github.com/microsoft/fluentui-blazor/pull/2730))
- \[FluentNavLink\] An issue where empty strings were not allowed in Href ([#2722](https://github.com/microsoft/fluentui-blazor/pull/2722))
- \[FluentRadioGroup\] Fix binding error ([#2742](https://github.com/microsoft/fluentui-blazor/pull/2742))
- \[Menu\] Add z-index to MenuProvider ([#2772](https://github.com/microsoft/fluentui-blazor/pull/2772))
- \[MenuButton\] Fix the MenuItem OnClick used with MenuButton ([#2784](https://github.com/microsoft/fluentui-blazor/pull/2784))
- \[MessageBar\] Update way animation is applied to the MessageBar ([#2723](https://github.com/microsoft/fluentui-blazor/pull/2723))
- \[NavMenu\] Make submenu in collapsed state work again ([#2771](https://github.com/microsoft/fluentui-blazor/pull/2771))
- \[Overlay\] Fix the detection of ExcludedElement for WASM ([#2755](https://github.com/microsoft/fluentui-blazor/pull/2755))
- \[ProfileMenu\] Add `Open` attribute ([#2741](https://github.com/microsoft/fluentui-blazor/pull/2741))
- \[Providers\] To prevent the menu and tooltip from displaying a scrollbar in body ([#2744](https://github.com/microsoft/fluentui-blazor/pull/2744))
- \[Tooltip\] Add role so screen reader can announce tooltip text ([#2724](https://github.com/microsoft/fluentui-blazor/pull/2724))
- \[TreeView\] Improve RTL support ([#2770](https://github.com/microsoft/fluentui-blazor/pull/2770))
- \[TreeView\] prevent runtime errors in change handeling ([#2776](https://github.com/microsoft/fluentui-blazor/pull/2776))

### Demo site and documentation
- \[Docs\] Components inheriting ListComponentBase missing member descriptions ([#2735](https://github.com/microsoft/fluentui-blazor/pull/2735))
- \[Docs\] Fix nullable reference types not always showing in API documentation ([#2758](https://github.com/microsoft/fluentui-blazor/pull/2758))
- \[Docs\] Fixes missing method descriptions for APIs ([#2764](https://github.com/microsoft/fluentui-blazor/pull/2764))
- \[Docs\] Removes extra period from TemplatesPage.razor ([#2777](https://github.com/microsoft/fluentui-blazor/pull/2777))
- \[Docs\] Removes unnecessary output to console for Grid page ([#2767](https://github.com/microsoft/fluentui-blazor/pull/2767))


### Icons
- Update to Fluent UI System Icons 1.1.260 (changes since 1.1.258). New **color** icons have been added!

**What's new (Name / Size(s) / Variant(s))**
- Arrow Circle Up Left / 16 / Filled & Regular
- Arrow Circle Up Right / 16 / Filled & Regular
- Building Checkmark / 16, 20 / Filled & Regular
- Clock Alarm / 48 / Filled & Regular
- Clothes Hanger / 12, 16, 20, 24 / Filled & Regular
- Comment Quote / 16, 20, 24, 28 / Filled & Regular
- Comment Text / 16, 20, 24, 28, 32, 48 / Filled & Regular
- Glance Horizontal / 28, 48 / Filled & Regular
- Glance / 16, 28, 32, 48 / Filled & Regular
- Megaphone / 12 / Filled & Regular
- Mic Link / 16, 20, 24, 28, 32, 48 / Filled & Regular
- Pen Sync / 16, 20, 24, 28, 32, 48 / Filled & Regular
- People Link / 16, 20, 24, 28, 32, 48 / Filled & Regular
- People Queue / 28, 32, 48 / Filled & Regular
- Person Head Hint / 16, 20, 24 / Filled & Regular
- Person Sound Spatial / 16, 20, 24, 28, 32, 48 / Filled & Regular
- Sound Wave Circle Sparkle / 16, 20, 24, 28, 32, 48 / Filled & Regular
- Sound Wave Circle / 16, 28, 32, 48 / Filled & Regular

**What's updated (Name / Size(s) / Variant(s))**

- Comment / 12 / Filled & Regular
- TV USB / 16, 48 / Filled & Regular

**New style — Color!**

- Add Circle / 16, 20, 24, 28, 32 / Color
- Alert / 16, 20, 24, 28, 32, 48 / Color
- Approvals App / 16, 20, 24, 28, 32 / Color
- Apps / 16, 20, 24, 28, 32, 48 / Color
- Arrow Trending Lines / 20, 24 / Color
- Beach / 16, 20, 24, 28, 32, 48 / Color
- Building Multiple / 20, 24 / Color
- Building People / 16, 20, 24 / Color
- Building Store / 16, 20, 24 / Color
- Building / 16, 20, 24, 32, 48 / Color
- Calendar Cancel / 16, 20, 24 / Color
- Calendar Checkmark / 16, 20, 24 / Color
- Calendar Clock / 16, 20, 24 / Color
- Calendar People / 20 / Color
- Calendar / 16, 20, 24, 28, 32, 48 / Color
- Camera / 16, 20, 24 / Color
- Chat Bubbles Question / 16, 20, 24 / Color
- Chat More / 16, 20, 24 / Color
- Chat Multiple / 16, 20, 24 / Color
- Checkbox Person / 16, 20, 24 / Color
- Checkbox / 16, 20, 24 / Color
- Checkmark Circle / 16, 20, 24, 32, 48 / Color
- Clipboard Text Edit / 20, 24, 32 / Color
- Clipboard / 16, 20, 24, 28, 32, 48 / Color
- Clock Alarm / 16, 20, 24, 32, 48 / Color
- Cloud Dismiss / 16, 20, 24, 28, 32, 48 / Color
- Cloud / 16, 20, 24, 28, 32, 48 / Color
- Code Block / 16, 20, 24, 28, 32, 48 / Color
- Coin Multiple / 16, 20 / Color
- Data Bar Vertical Ascending / 16, 20, 24 / Color
- Dismiss Circle / 16, 20, 24, 28, 32, 48 / Color
- Document Add / 16, 20, 24, 28, 48 / Color
- Document Folder / 16, 20, 24 / Color
- Document Lock / 16, 20, 24, 28, 48 / Color
- Document / 16, 20, 24, 28, 32, 48 / Color
- Edit / 16, 20, 24, 32 / Color
- Error Circle / 16, 20, 24, 48 / Color
- Food / 16, 20, 24, 28, 32, 48 / Color
- Game Chat / 20 / Color
- Globe Shield / 20, 24, 48 / Color
- Headphones / 20, 24, 28, 32, 48 / Color
- Headset / 16, 20, 24, 28, 32, 48 / Color
- History / 16, 20, 24, 28, 32, 48 / Color
- Home / 16, 20, 24, 28, 32, 48 / Color
- Library / 16, 20, 24, 28, 32 / Color
- Mail Multiple / 16, 20, 24, 28, 32 / Color
- Mail / 16, 20, 24, 28, 32, 48 / Color
- Mic / 16, 20, 24, 28, 32, 48 / Color
- Org / 16, 20, 24, 28, 32, 48 / Color
- People Home / 16, 20, 24, 28, 32, 48 / Color
- People Team / 16, 20, 24, 28, 32, 48 / Color
- People / 16, 20, 24, 28, 32, 48 / Color
- Person Available / 16, 20, 24 / Color
- Person / 16, 20, 24, 28, 32, 48 / Color
- Pin / 16, 20, 24, 28, 32, 48 / Color
- Poll / 16, 20, 24, 32 / Color
- Question Circle / 16, 20, 24, 28, 32, 48 / Color
- Receipt / 16, 20, 24, 28, 32 / Color
- Reward / 16, 20, 24 / Color
- Scan Person / 16, 20, 24, 28, 48 / Color
- Scan Type / 20, 24 / Color
- Search Visual / 16, 20, 24 / Color
- Shield Checkmark / 16, 20, 24, 28, 48 / Color
- Shield / 16, 20, 24, 28, 32, 48 / Color
- Shifts / 16, 20, 24, 28, 32 / Color
- Text Edit Style / 16, 20, 24 / Color
- Vault / 16, 20, 24 / Color
- Video / 16, 20, 24, 28, 32, 48 / Color
- Warning / 16, 20, 24, 28, 32, 48 / Color
- Wrench / 16, 20, 24 / Color

## v4.10.1

### General
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ variables:
# File and Package version
# dev branch: 1.2.4-Preview-23282-1' (PackageSuffix is always ignored in Dev branch)
# main branch: 1.2.4-RC.1' (PackageSuffix is ignored, if empty, in Main branch)
FileVersion: '4.10.1' # Set the next final version here.
FileVersion: '4.10.2' # Set the next final version here.
PackageSuffix: ''
2 changes: 2 additions & 0 deletions examples/Demo/DocGenerator/CodeCommentsGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ private static string CleanupParamName(string value)
value = regex.Replace(value, "");
regex = new("[P,T,M,F]:FluentUI\\.Demo\\.Shared\\.");
value = regex.Replace(value, "");
regex = new("\\(.*\\)$");
value = regex.Replace(value, "");

return value;
}
Expand Down
2 changes: 1 addition & 1 deletion examples/Demo/Server/FluentUI.Demo.Server.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFrameworks>net8.0; net9.0</TargetFrameworks>
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>latest</LangVersion>
Expand Down
4 changes: 4 additions & 0 deletions examples/Demo/Server/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,11 @@

app.UseHttpsRedirection();

#if NET8_0
app.UseStaticFiles();
#else
app.MapStaticAssets();
#endif

app.UseRouting();

Expand Down
58 changes: 55 additions & 3 deletions examples/Demo/Shared/Components/ApiDocumentation.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ private IEnumerable<MemberDescription> GetMembers(MemberTypes type)
Type = propertyInfo.ToTypeNameString(),
EnumValues = GetEnumValues(propertyInfo),
Default = defaultVaue,
Description = CodeComments.GetSummary(Component.Name + "." + propertyInfo.Name) ?? CodeComments.GetSummary(Component.BaseType?.Name + "." + propertyInfo.Name),
Description = GetDescription(Component, propertyInfo),
IsParameter = isParameter,
Icon = icon
});
Expand All @@ -156,7 +156,7 @@ private IEnumerable<MemberDescription> GetMembers(MemberTypes type)
MemberType = MemberTypes.Event,
Name = propertyInfo.Name,
Type = propertyInfo.ToTypeNameString(),
Description = CodeComments.GetSummary(Component.Name + "." + propertyInfo.Name) ?? CodeComments.GetSummary(Component.BaseType?.Name + "." + propertyInfo.Name)
Description = GetDescription(Component, propertyInfo)
});
}
}
Expand All @@ -176,7 +176,7 @@ private IEnumerable<MemberDescription> GetMembers(MemberTypes type)
Name = methodInfo.Name + genericArguments,
Parameters = methodInfo.GetParameters().Select(i => $"{i.ToTypeNameString()} {i.Name}").ToArray(),
Type = methodInfo.ToTypeNameString(),
Description = CodeComments.GetSummary(Component.Name + "." + methodInfo.Name) ?? CodeComments.GetSummary(Component.BaseType?.Name + "." + methodInfo.Name)
Description = GetDescription(Component, methodInfo)
});
}
}
Expand All @@ -194,6 +194,58 @@ private IEnumerable<MemberDescription> GetMembers(MemberTypes type)
return _allMembers.Where(i => i.MemberType == type);
}

/// <summary>
/// Gets member description for generic MemberInfo.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="component"></param>
/// <param name="memberInfo"></param>
/// <returns>member description</returns>
private static string GetDescription<T>(Type component, T memberInfo) where T : MemberInfo
{
return DescriptionFromCodeComments(component, memberInfo.Name);
}

/// <summary>
/// Gets description
/// </summary>
/// <param name="component"></param>
/// <param name="methodInfo"></param>
/// <returns></returns>
/// <remarks>
/// see the following about name mangling when dealing with generics
/// https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/#id-strings
/// </remarks>
private static string GetDescription(Type component, MethodInfo methodInfo)
{
var genericArgumentCount = methodInfo.GetGenericArguments().Length;
var mangledName = methodInfo.Name + (genericArgumentCount == 0 ? "" : $"``{genericArgumentCount}");

var description = DescriptionFromCodeComments(component, mangledName);

return description;
}

/// <summary>
/// Gets member description from source generated class of component
/// descriptions. If none found, component base member description
/// is returned.
/// </summary>
/// <param name="component"></param>
/// <param name="name">name of property, method, or event</param>
/// <returns></returns>
private static string DescriptionFromCodeComments(Type component, string name)
{
var description = CodeComments.GetSummary(component.Name + "." + name);

if (description == null && component.BaseType != null)
{
description = DescriptionFromCodeComments(component.BaseType, name);
}

return description ?? string.Empty;
}

private static string[] GetEnumValues(PropertyInfo? propertyInfo)
{
if (propertyInfo != null)
Expand Down
4 changes: 2 additions & 2 deletions examples/Demo/Shared/FluentUI.Demo.Shared.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<TargetFrameworks>net8.0; net9.0</TargetFrameworks>
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>latest</LangVersion>
Expand Down Expand Up @@ -39,7 +39,7 @@
<ItemGroup>
<PackageReference Include="Markdig.Signed" />
<PackageReference Include="Microsoft.AspNetCore.Components.Web" />
<PackageReference Include="Microsoft.FluentUI.AspNetCore.Components.Icons" />
<PackageReference Include="Microsoft.FluentUI.AspNetCore.Components.Icons" />
<PackageReference Include="Microsoft.FluentUI.AspNetCore.Components.Emoji" />
</ItemGroup>

Expand Down
Loading

0 comments on commit 1671c73

Please sign in to comment.