Skip to content

Commit 3d97d42

Browse files
committed
merge dev
2 parents 675b5a9 + a288ed0 commit 3d97d42

File tree

67 files changed

+567
-123
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+567
-123
lines changed

.config/tsaoptions.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
"fluentui-blazor@microsoft.com"
88
],
99
"projectName": "DEVDIV",
10-
"repositoryName": "microsoft-fluentui-blazor",
10+
"repositoryName": "fluentui-blazor",
1111
"template": "TFSDEVDIV"
12-
}
12+
}

Directory.Build.props

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
1313
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
1414

15-
<VersionFile>4.10.3</VersionFile>
16-
<VersionPrefix>4.10.3</VersionPrefix>
15+
<VersionFile>4.10.4</VersionFile>
16+
<VersionPrefix>4.10.4</VersionPrefix>
1717
<VersionSuffix></VersionSuffix>
1818
<AssemblyVersion>$(VersionFile)</AssemblyVersion>
1919
<FileVersion>$(VersionFile)</FileVersion>

Directory.Packages.props

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
<RuntimeVersion8>8.0.0</RuntimeVersion8>
55
<AspNetCoreVersion8>8.0.10</AspNetCoreVersion8>
66
<EfCoreVersion8>8.0.10</EfCoreVersion8>
7-
<RuntimeVersion9>9.0.0-rc.2.24473.5</RuntimeVersion9>
8-
<AspNetCoreVersion9>9.0.0-rc.2.24474.3</AspNetCoreVersion9>
9-
<EfCoreVersion9>9.0.0-rc.2.24474.1</EfCoreVersion9>
7+
<RuntimeVersion9>9.0.0</RuntimeVersion9>
8+
<AspNetCoreVersion9>9.0.0</AspNetCoreVersion9>
9+
<EfCoreVersion9>9.0.0</EfCoreVersion9>
1010
</PropertyGroup>
1111
<ItemGroup>
1212
<!-- For Sample Apps -->

README.md

+12
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,10 @@ maintaining accessibility. This is accomplished through setting various "design
144144
You can use this library in **Blazor Hybrid** (MAUI/WPF/Windows Forms) projects. Setup is almost the same as described in the "Getting started" section above, but to get everything to work you'll need to take one extra steps (for now) described below.
145145

146146
### Temporary workaround for MAUI/WPF/Windows Forms issues
147+
148+
> [!NOTE]
149+
> The workaround below only applies to .NET 8 (and below). As of .NET 9 this workaround is no longer needed. If you have this workaround in place for .NET 9 your Blazor Hybrid project **will not load**.
150+
147151
Currently when using the WebView to run Blazor (so all Hybrid variants) the web-components script is not imported automatically (see [#404](https://github.com/microsoft/fluentui-blazor/issues/404)).
148152
There is also an issue with loading the custom event handlers that are being configured by the web-components script. Until these are fixed on the WebView side, there is a workaround available, namely to intercept `'_framework/blazor.modules.json'` and provide proper JS initializers file (created by build). The needed `initializersLoader.webview.js` has been added to the library and needs to be included with a script tag **before** the `_framework/blazor.webview.js` script tag:
149153

@@ -186,6 +190,14 @@ and offers support, like most other open source projects, on a best effort base
186190
We offer some guidelines on how you can get started [contributing to the project](https://github.com/microsoft/fluentui-blazor/blob/main/docs/contributing.md).
187191
We also have a document that explains and shows how to [write and develop unit tests](https://github.com/microsoft/fluentui-blazor/blob/main/docs/unit-tests.md)
188192

193+
### 🏆 Contributors
194+
195+
<a href="https://github.com/microsoft/fluentui-blazor/graphs/contributors">
196+
<img src="https://contrib.rocks/image?repo=microsoft/fluentui-blazor" />
197+
</a>
198+
199+
Made with [contrib.rocks](https://contrib.rocks).
200+
189201
## Joining the Community
190202

191203
Looking to get answers to questions or engage with us in real-time? Our community is active on [Gitter](https://app.gitter.im/#/room/#fluentui-blazor:gitter.im) and [Discord](https://discord.gg/FcSNfg4). Submit requests

WHATSNEW.md

+69
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,72 @@
1+
## V4.10.4
2+
3+
### General
4+
- \[General\] Supports .NET 9 GA version
5+
6+
### Components
7+
- \[Accordion\] Fix RTL specific styling ([#2917](https://github.com/microsoft/fluentui-blazor/pull/2917))
8+
- \[Autocomplete\] Fix Icon Titles (Dismiss and Search) and delete predefined element ([#2891](https://github.com/microsoft/fluentui-blazor/pull/2891))
9+
- \[Autocomplete\] Fix the Autocomplete Clear button ([#2906](https://github.com/microsoft/fluentui-blazor/pull/2906))
10+
- \[Calendar\] Fix the Calendar disabled day in RTL direction ([#2909](https://github.com/microsoft/fluentui-blazor/pull/2909))
11+
- \[DataGrid\] Fix `SelectAll` after reloading data when the `Virtualize` is set ([#2915](https://github.com/microsoft/fluentui-blazor/pull/2915))
12+
- \[DataGrid\] Remove optimalization check as it can break in certain scenarios ([#2875](https://github.com/microsoft/fluentui-blazor/pull/2875))
13+
- \[KeyCode\] Add a new `StopRepeat` property ([#2908](https://github.com/microsoft/fluentui-blazor/pull/2908))
14+
- \[MessageBar\] Implement ClearAfterNavigation on provider level ([#2919](https://github.com/microsoft/fluentui-blazor/pull/2919))
15+
- \[Select\] Fix ValueChanged regression [#2923](https://github.com/microsoft/fluentui-blazor/issues/2923)
16+
- \[Tab\] Use correct color for close icon ([#2922](https://github.com/microsoft/fluentui-blazor/issues/2922))
17+
- \[TreeItem\] Only pass initially selected state to the web component ([#2916](https://github.com/microsoft/fluentui-blazor/pull/2916))
18+
19+
### Demo site and documentation
20+
- \[Docs\] Update README with Blazor Hybrid workaround note ([#2892](https://github.com/microsoft/fluentui-blazor/pull/2892))
21+
22+
### Icons
23+
- Update to Fluent UI System Icons 1.1.265 (changes since 1.1.261)
24+
25+
**What's new (Name / Size(s) / Variant(s))**
26+
- Animal Paw Print / 16, 20, 24, 28, 32, 48 / Filled & Regular
27+
- Arrow Bounce / 12, 28, 48 / Filled & Regular
28+
- Arrow Clockwise Dashes / 28, 48 / Filled & Regular
29+
- Arrow Clockwise Dashes Settings / 16, 20, 24, 28, 32, 48 / Filled & Regular
30+
- Arrow Down Left / 12, 28 / Filled & Regular
31+
- Arrow Flow Diagonal Up Right / 12, 28, 48 / Filled & Regular
32+
- Arrow Up Right / 12, 28 / Filled & Regular
33+
- Arrow Up Right Dashes / 12, 20, 24, 28, 32, 48 / Filled & Regular
34+
- Arrow Wrap / 32 / Filled & Regular
35+
- Arrow Wrap Up To Down / 20, 32 / Filled & Regular
36+
- Chat Off / 16 / Filled & Regular
37+
- Coin Multiple / 16, 24 / Filled & Regular
38+
- Comment Badge / 16, 20, 24 / Filled & Regular
39+
- Connected / 24, 32 / Filled & Regular
40+
- Data Usage / 28, 32, 48 / Filled & Regular
41+
- Data Usage Checkmark / 16, 20, 24, 28, 32, 48 / Filled & Regular
42+
- Document One Page Multiple / 16, 20, 24 / Filled & Regular
43+
- Document One Page Multiple / 16, 20, 24 / Filled & Regular
44+
- Document One Page Multiple Sparkle / 16, 20, 24 / Filled & Regular
45+
- Document One Page Multiple Sparkle / 16, 20, 24 / Filled & Regular
46+
- Lightbulb / 32 / Light
47+
- Line Horizontal 1 Dash Dot Dash / 20 / Filled & Regular
48+
- Line Horizontal 1 Dot / 20 / Filled & Regular
49+
- Line Horizontal 3 / 16, 24, 28, 32, 48 / Filled & Regular
50+
- Navigation / 28, 32, 48 / Filled & Regular
51+
- Pause Circle / 16 / Filled & Regular
52+
- Square Text Arrow Repeat All / 16, 20, 24 / Filled & Regular
53+
- Stack / 28, 48 / Filled & Regular
54+
- Stack Off / 16, 20, 24, 28, 32, 48 / Filled & Regular
55+
- Text Bullet List Square / 28 / Filled & Regular
56+
- TextBox / 20, 28, 32, 48 / Filled & Regular
57+
- TextBox Checkmark / 16, 20, 24, 28, 32, 48 / Filled & Regular
58+
- Translate / 32 / Filled & Regular
59+
60+
**What's updated (Name / Size(s) / Variant(s))**
61+
- Add Circle / 16 / Filled & Regular
62+
- Arrow Clockwise Dashes / 16, 20, 24, 32 / Filled & Regular
63+
- Arrow Counterclockwise Dashes / 20, 24 / Filled & Regular
64+
- Coin Multiple / 20 / Filled & Regular
65+
- Subtract Circle Arrow Back / 16 / Filled & Regular
66+
- Subtract Circle Arrow Forward / 16 / Filled & Regular
67+
- Subtract Circle / 16 / Filled & Regular
68+
- TextBox / 16 / Filled
69+
170
## V4.10.3
271

372
### Important note

eng/pipelines/version.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ variables:
22
# File and Package version
33
# dev branch: 1.2.4-Preview-23282-1' (PackageSuffix is always ignored in Dev branch)
44
# main branch: 1.2.4-RC.1' (PackageSuffix is ignored, if empty, in Main branch)
5-
FileVersion: '4.10.3' # Set the next final version here.
5+
FileVersion: '4.10.4' # Set the next final version here.
66
PackageSuffix: ''

examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml

+14-7
Original file line numberDiff line numberDiff line change
@@ -2002,11 +2002,6 @@
20022002
Sets <see cref="P:Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid`1.GridTemplateColumns"/> to automatically fit the columns to the available width as best it can.
20032003
</summary>
20042004
</member>
2005-
<member name="P:Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid`1.SelectColumns">
2006-
<summary>
2007-
Gets the first (optional) SelectColumn
2008-
</summary>
2009-
</member>
20102005
<member name="M:Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid`1.#ctor">
20112006
<summary>
20122007
Constructs an instance of <see cref="T:Microsoft.FluentUI.AspNetCore.Components.FluentDataGrid`1"/>.
@@ -5196,6 +5191,11 @@
51965191
its default action should not be taken as it normally would be.
51975192
</summary>
51985193
</member>
5194+
<member name="P:Microsoft.FluentUI.AspNetCore.Components.FluentKeyCode.StopRepeat">
5195+
<summary>
5196+
Gets or sets whether the key pressed can be repeated.
5197+
</summary>
5198+
</member>
51995199
<member name="P:Microsoft.FluentUI.AspNetCore.Components.FluentKeyCode.AdditionalAttributes">
52005200
<summary>
52015201
Gets or sets a collection of additional attributes that will be applied to the created element.
@@ -5204,7 +5204,7 @@
52045204
<member name="M:Microsoft.FluentUI.AspNetCore.Components.FluentKeyCode.OnAfterRenderAsync(System.Boolean)">
52055205
<summary />
52065206
</member>
5207-
<member name="M:Microsoft.FluentUI.AspNetCore.Components.FluentKeyCode.OnKeyDownRaisedAsync(System.Int32,System.String,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Int32,System.String)">
5207+
<member name="M:Microsoft.FluentUI.AspNetCore.Components.FluentKeyCode.OnKeyDownRaisedAsync(System.Int32,System.String,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Int32,System.String,System.Boolean)">
52085208
<summary>
52095209
Internal method.
52105210
</summary>
@@ -5216,9 +5216,10 @@
52165216
<param name="metaKey"></param>
52175217
<param name="location"></param>
52185218
<param name="targetId"></param>
5219+
<param name="repeat"></param>
52195220
<returns></returns>
52205221
</member>
5221-
<member name="M:Microsoft.FluentUI.AspNetCore.Components.FluentKeyCode.OnKeyUpRaisedAsync(System.Int32,System.String,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Int32,System.String)">
5222+
<member name="M:Microsoft.FluentUI.AspNetCore.Components.FluentKeyCode.OnKeyUpRaisedAsync(System.Int32,System.String,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Int32,System.String,System.Boolean)">
52225223
<summary>
52235224
Internal method.
52245225
</summary>
@@ -5230,6 +5231,7 @@
52305231
<param name="metaKey"></param>
52315232
<param name="location"></param>
52325233
<param name="targetId"></param>
5234+
<param name="repeat"></param>
52335235
<returns></returns>
52345236
</member>
52355237
<member name="P:Microsoft.FluentUI.AspNetCore.Components.FluentKeyCodeEventArgs.Name">
@@ -5284,6 +5286,11 @@
52845286
Gets the identifier of the targeted DOM element.
52855287
</summary>
52865288
</member>
5289+
<member name="P:Microsoft.FluentUI.AspNetCore.Components.FluentKeyCodeEventArgs.Repeat">
5290+
<summary>
5291+
Gets a boolean value that is true if the given key is being held down such that it is automatically repeating.
5292+
</summary>
5293+
</member>
52875294
<member name="M:Microsoft.FluentUI.AspNetCore.Components.FluentKeyCodeEventArgs.ToString">
52885295
<summary>
52895296
Returns a string that represents the key pressed.

examples/Demo/Shared/Pages/BlazorHybrid.razor

+4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55

66
<h1>Blazor Hybrid</h1>
77

8+
<p>
9+
<strong>Note:</strong> The workaround below only applies to .NET 8 (and below). As of .NET 9 this workaround is no longer needed. If you have this workaround in place for .NET 9 your Blazor Hybrid project <strong>will not load</strong>.
10+
</p>
11+
812
<p>
913
It is possible to use this library in your Blazor Hybrid projects. Setup is almost the same as described in the "Getting started" section above,
1014
however to get everything to work you'll need to take one extra step:

examples/Demo/Shared/Pages/KeyCode/Examples/KeyCodeExample.razor

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
</li>
4747
<li><span>Location:</span> <code>@LastKeyCode?.Location.ToString()</code></li>
4848
<li><span>TargetId:</span> <code>@LastKeyCode?.TargetId</code></li>
49+
<li><span>Repeat:</span> <code>@LastKeyCode?.Repeat</code></li>
4950
</ul>
5051
</FluentStack>
5152

examples/Demo/Shared/Pages/KeyCode/Examples/KeyCodeGlobalExample.razor

+14-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
@inject IKeyCodeService KeyCodeService
22
@implements IAsyncDisposable
33

4-
<FluentSwitch @bind-Value="@IncludeKeyUp"
5-
CheckedMessage="KeyDown and KeyUp"
6-
UncheckedMessage="KeyDown only"
7-
Style="margin-bottom: 10px;" />
4+
<FluentStack Style="margin-bottom: 10px;">
5+
<FluentSwitch @bind-Value="@IncludeKeyUp"
6+
CheckedMessage="KeyDown and KeyUp"
7+
UncheckedMessage="KeyDown only" />
8+
<FluentSwitch @bind-Value="@StopRepeat"
9+
CheckedMessage="Stop Repeat"
10+
UncheckedMessage="Allow Repeat" />
11+
</FluentStack>
812

913
<FluentCard>
1014
@if (!KeyPressed.Any())
@@ -21,6 +25,7 @@
2125
@code
2226
{
2327
private bool IncludeKeyUp = false;
28+
private bool StopRepeat = false;
2429
private List<(string Key, string Event)> KeyPressed = new();
2530

2631
protected override void OnInitialized()
@@ -36,6 +41,11 @@
3641
return Task.CompletedTask;
3742
}
3843

44+
if (StopRepeat && args.Repeat)
45+
{
46+
return Task.CompletedTask;
47+
}
48+
3949
KeyPressed.Add((args.ToString(), args.Name));
4050
StateHasChanged();
4151
return Task.CompletedTask;
Original file line numberDiff line numberDiff line change
@@ -1 +1,40 @@
1-

1+
@page "/counter"
2+
3+
4+
<FluentSelect Value="@_test.BMAddress" Items="@_ddval"
5+
ValueChanged="UpdateSelect2" />
6+
@foreach (var t in _test.CBVal)
7+
{
8+
<FluentCheckbox Value="t.Rval" />
9+
}
10+
11+
12+
@code {
13+
14+
private readonly test _test = new();
15+
private readonly List<string> _ddval = new() { "one", "two" };
16+
17+
private readonly List<Row> _t2 = new() { new Row { Rval = true }, new Row { Rval = false }, new Row { Rval = false }, new Row { Rval = true } };
18+
private readonly List<Row> _t3 = new() { new Row { Rval = false }, new Row { Rval = true }, new Row { Rval = true }, new Row { Rval = true } };
19+
20+
private void UpdateSelect2(string newVal)
21+
{
22+
_test.BMAddress = newVal;
23+
if (newVal == "one") _test.CBVal = _t3;
24+
if (newVal == "two") _test.CBVal = _t2;
25+
if (newVal == null) _test.CBVal = new List<Row>();
26+
}
27+
28+
public class test
29+
{
30+
public string BMAddress { get; set; } = "one";
31+
public List<Row> CBVal { get; set; } = new();
32+
}
33+
34+
public class Row
35+
{
36+
public bool Rval { get; set; }
37+
}
38+
39+
40+
}

examples/Demo/Shared/Pages/MessageBar/MessageBarPage.razor

+20-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,23 @@
3535
)
3636
</CodeSnippet>
3737

38+
<h2 id="sections">Sections</h2>
39+
<p>
40+
You can use multiple message bar providers in a single page/app. In the example below you can add a message bar on the top of the window, but also
41+
in the notification center or in a dialog. An area to display messages in is called a <code>Section</code>.
42+
43+
You can specify in wich <code>Section</code> you want your message to appear in through the <code>MessageOptions</code>.
44+
45+
</p>
46+
47+
<h2 id="clear">Clear message bars on navigation</h2>
48+
<p>
49+
By default, message bars will not be removed when navigating to another page. This can be changed by setting the <code>ClearAfterNavigation</code>
50+
parameter to true on a <code>FluentMenuProvider</code>. When using multiple providers (see Sections above), the parameter needs to be set for each
51+
provider individually.
52+
You can also set the behavior on a per message basis by using the same parameter of the <code>MessageOptions</code> class.
53+
</p>
54+
3855
<h2 id="example">Examples</h2>
3956

4057
<DemoSection Title="Message Service" Component="typeof(MessageBarDefault)">
@@ -44,7 +61,7 @@
4461
If you click on "Add in a dialog" multiple times, you will see that only one message is displayed.
4562
Once you dismiss that one, the next one will be displayed.
4663
</p>
47-
<p>This is the advised way to use MessageBars </p>
64+
<p>Using the <code>MessageService</code> is the advised way to use message bars.</p>
4865
</DemoSection>
4966

5067
<DemoSection Title="Timed Messages" Component="typeof(MessageBarTimed)">
@@ -100,3 +117,5 @@
100117
<ApiDocumentation Component="typeof(MessageService)" />
101118

102119
<ApiDocumentation Component="typeof(Message)" />
120+
121+
<ApiDocumentation Component="typeof(MessageOptions)" />

examples/Demo/Shared/Shared/DemoMainLayout.razor

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
<div class="content">
5757
<article id="article">
5858

59-
<FluentMessageBarProvider Section="@App.MESSAGES_TOP" />
59+
<FluentMessageBarProvider Section="@App.MESSAGES_TOP" ClearAfterNavigation="true" />
6060

6161

6262
<CascadingValue Value=@OnRefreshTableOfContents>

0 commit comments

Comments
 (0)