From 9cca9f4512320f1dcff454cd18550d6c78082acd Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 8 Mar 2026 09:10:12 +0000
Subject: [PATCH 1/5] Initial plan
From 1440fcffb0d86516fc10ae0f1081985cbce31803 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 8 Mar 2026 09:14:06 +0000
Subject: [PATCH 2/5] fix: rename custom events matching browserEventName to
use fluent prefix
Co-authored-by: vnbaaij <1761079+vnbaaij@users.noreply.github.com>
---
...crosoft.FluentUI.AspNetCore.Components.xml | 745 +++++++++---------
.../Examples/HorizontalScrollDefault.razor | 2 +-
.../Core.Assets/obj\\Debug/\\package.g.props" | 25 +
src/Core.Assets/package-lock.json | 408 ++++++++++
src/Core.Assets/src/index.ts | 8 +-
.../Components/Splitter/FluentSplitter.razor | 4 +-
src/Core/Events/EventHandlers.cs | 8 +-
7 files changed, 823 insertions(+), 377 deletions(-)
create mode 100644 "src/Core.Assets/obj\\Debug/\\package.g.props"
diff --git a/examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml b/examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml
index 88d658e67c..0ee19dd8d4 100644
--- a/examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml
+++ b/examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml
@@ -109,6 +109,78 @@
Gets or sets the content to be rendered inside the component.
+
+
+
+
+
+
+
+
+ Prompts the user to save the linked URL. See a element for more information.
+
+
+
+
+ Gets or sets the URL the hyperlink references. See a element for more information.
+ Use Target parameter to specify where.
+
+
+
+
+ Hints at the language of the referenced resource. See a element for more information.
+
+
+
+
+ See a element for more information.
+
+
+
+
+ See a element for more information.
+
+
+
+
+ See a element for more information.
+
+
+
+
+ Gets or sets the target attribute that specifies where to open the link, if Href is specified.
+ Possible values: _blank | _self | _parent | _top.
+
+
+
+
+ See a element for more information.
+
+
+
+
+ Gets or sets the visual appearance. See
+ Defaults to
+
+
+
+
+ Gets or sets the displayed at the start of anchor content.
+
+
+
+
+ Gets or sets the displayed at the end of anchor content.
+
+
+
+
+ Gets or sets the content to be rendered inside the component.
+
+
+
+
+
@@ -244,78 +316,6 @@
-
-
-
-
-
-
-
-
- Prompts the user to save the linked URL. See a element for more information.
-
-
-
-
- Gets or sets the URL the hyperlink references. See a element for more information.
- Use Target parameter to specify where.
-
-
-
-
- Hints at the language of the referenced resource. See a element for more information.
-
-
-
-
- See a element for more information.
-
-
-
-
- See a element for more information.
-
-
-
-
- See a element for more information.
-
-
-
-
- Gets or sets the target attribute that specifies where to open the link, if Href is specified.
- Possible values: _blank | _self | _parent | _top.
-
-
-
-
- See a element for more information.
-
-
-
-
- Gets or sets the visual appearance. See
- Defaults to
-
-
-
-
- Gets or sets the displayed at the start of anchor content.
-
-
-
-
- Gets or sets the displayed at the end of anchor content.
-
-
-
-
- Gets or sets the content to be rendered inside the component.
-
-
-
-
-
@@ -6798,6 +6798,16 @@
Gets or sets the list of items to display.
+
+
+ Gets or sets the height of the header (in pixels).
+
+
+
+
+ Gets or sets the content to be rendered inside the component.
+
+
Gets or sets the header content.
@@ -6833,83 +6843,6 @@
Gets or sets the content of the body.
-
-
- Gets or sets the height of the header (in pixels).
-
-
-
-
- Gets or sets the content to be rendered inside the component.
-
-
-
-
- Gets or sets a reference to the button.
-
-
-
-
- Gets or sets the button appearance.
-
-
-
-
- The content to be rendered inside the button. This parameter should be supplied if you do not want to render a chevron
- on the menu button.
- If both and ButtonContent are provided, ButtonContent will be used.
-
-
-
-
- Gets or sets a reference to the menu.
-
-
-
-
- Use IMenuService to create the menu, if this service was injected.
- This value must be defined before the component is rendered (you can't change it during the component lifecycle).
- Default, true.
-
-
-
-
- Gets or sets the texts shown on the button.
- If both Text and are provided, ButtonContent will be used.
-
-
-
-
- Gets or sets the displayed at the start of button content.
-
-
-
-
- Gets or sets the button style.
-
-
-
-
- Gets or sets the menu style.
-
-
-
-
- Gets or sets the items to show in the menu.
-
-
-
-
- Gets or sets the content to be shown in the menu.
- Should consist of components.
-
-
-
-
- The callback to invoke when a menu item is chosen.
- Using this event prevents the execution of any OnClick event on an included FluentMenuItem.
-
-
@@ -7214,32 +7147,99 @@
-
-
-
-
-
-
-
-
-
-
+
- Gets or sets the type of message bar.
- Default is MessageType.MessageBar. See for more details.
+ Gets or sets a reference to the button.
-
+
- Gets or sets the actual message instance shown in the message bar.
+ Gets or sets the button appearance.
-
+
- Gets or sets the message to be shown when not using the MessageService methods.
+ The content to be rendered inside the button. This parameter should be supplied if you do not want to render a chevron
+ on the menu button.
+ If both and ButtonContent are provided, ButtonContent will be used.
-
+
+
+ Gets or sets a reference to the menu.
+
+
+
+
+ Use IMenuService to create the menu, if this service was injected.
+ This value must be defined before the component is rendered (you can't change it during the component lifecycle).
+ Default, true.
+
+
+
+
+ Gets or sets the texts shown on the button.
+ If both Text and are provided, ButtonContent will be used.
+
+
+
+
+ Gets or sets the displayed at the start of button content.
+
+
+
+
+ Gets or sets the button style.
+
+
+
+
+ Gets or sets the menu style.
+
+
+
+
+ Gets or sets the items to show in the menu.
+
+
+
+
+ Gets or sets the content to be shown in the menu.
+ Should consist of components.
+
+
+
+
+ The callback to invoke when a menu item is chosen.
+ Using this event prevents the execution of any OnClick event on an included FluentMenuItem.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets or sets the type of message bar.
+ Default is MessageType.MessageBar. See for more details.
+
+
+
+
+ Gets or sets the actual message instance shown in the message bar.
+
+
+
+
+ Gets or sets the message to be shown when not using the MessageService methods.
+
+
+
Gets or sets the intent of the message bar.
Default is MessageIntent.Info. See for more details.
@@ -7701,408 +7701,408 @@
Optional section
int
-
+
- Returns if the group is expanded,
- and if collapsed.
+ Base class for and .
-
+
- Gets or sets a callback that is triggered whenever changes.
+ Gets or sets the URL for the group.
-
+
- If set to then the tree will
- expand when it is created.
+ Gets or sets the target attribute that specifies where to open the group, if Href is specified.
+ Possible values: _blank | _self | _parent | _top.
-
+
- Returns if the group is collapsed,
- and if expanded.
+ Gets or sets the Icon to use if set.
-
+
- Base class for and .
+ Gets or sets the color of the icon.
+ It supports the theme colors, default value uses the themes drawer icon color.
-
+
- Gets or sets the content to be rendered inside the component.
+ Gets or sets the icon drawing and fill color to a custom value.
+ Needs to be formatted as an HTML hex color string (#rrggbb or #rgb) or CSS variable.
+ ⚠️ Only available when Color is set to Color.Custom.
-
+
- Gets or sets whether the link is disabled.
+ If true, the button will be disabled.
-
+
- Gets or sets the destination of the link.
+ Gets or sets the content to be shown.
-
+
- Gets or sets the icon to display with the link
- Use a constant value from the class
+ Gets or sets the class names to use to indicate the item is active, separated by space.
-
+
- Called when the user attempts to execute the default action of a menu item.
+ Gets or sets how the link should be matched.
+ Defaults to .
-
+
- Gets or sets a value indicating whether the item is selected.
+ Gets or sets the tooltip to display when the mouse is placed over the item.
+ For the Title is used as fallback.
-
+
- Event callback for when changes.
+ The callback to invoke when the item is clicked.
-
+
- Gets or sets the text of the link.
+ If true, force browser to redirect outside component router-space.
-
+
- Gets or sets the width of the link (in pixels).
+ Gets or sets the id of the custom toggle element
+ Defaults to navmenu-toggle
-
+
- Returns if the item has an set.
+ Returns if the item has an set.
-
+
- Gets or sets the tree item associated with this menu item.
+ If a custom toggle is being used to hide/show the menu, this defines the 'onclick' code
+ Uses the as the id of the element that will be clicked
-
+
- Called when the user attempts to action a menu item
+ Gets or sets the text to display for the group.
- Information about the menu item
-
-
+
- Gets or sets the content to be rendered inside the component.
+ If true, expands the nav group, otherwise collapse it.
+ Two-way bindable
-
+
- Gets or sets the content to be rendered for the expander icon when the menu is collapsible.
- The default icon will be used if this is not specified.
+ If true, hides expand button at the end of the NavGroup.
-
+
- Gets or sets the title of the navigation menu.
- Default to "Navigation menu".
+ Explicitly sets the height for the Collapse element to override the css default.
-
+
- Gets or sets the width of the menu (in pixels).
+ Defines the vertical spacing between the NavGroup and adjacent items.
+ Needs to be a valid CSS value.
-
+
- Gets or sets whether or not the menu can be collapsed.
+ If set, overrides the default expand icon.
-
-
-
-
+
- Event callback for when the property changes.
+ Allows for specific markup and styling to be applied for the group title
+ When using this, the contained s and s need to be placed in a ChildContent tag.
+ When specifying both Title and TitleTemplate, both will be rendered.
-
+
- Called when the user attempts to execute the default action of a menu item.
+ Gets or sets a callback that is triggered whenever changes.
-
-
- If set to then the tree will expand when it is created.
-
+
+
-
+
- If true, the menu will re-navigate to the current page when the user clicks on the currently selected menu item.
+ Determines whether the current URI should match the link.
+ The absolute URI of the current location.
+ True if the link should be highlighted as active; otherwise, false.
-
-
+
+
-
+
- Navigation manager
+ Gets or sets the content to be rendered for the collapse icon when the menu is collapsible.
+ The default icon will be used if this is not specified.
-
-
-
-
-
-
-
-
-
-
+
- An interface for supporting the ownership of .
+ Gets or sets the title of the navigation menu using the aria-label attribute.
+ Defaults to "Navigation menu".
-
+
- .
+ Gets or sets the width of the menu (in pixels).
-
+
- Returns if the implementing component
- is collapsed, and if expanded.
+ Gets or sets whether or not the menu can be collapsed.
-
+
- Returns if the implementing component
- is expanded, and if collapsed.
+ Gets or sets whether a menu with all child links is shown for s when the navigation menu is collapsed.
-
+
+
+
+
- Returns if the result of
- contains any items, otherwise returns .
+ Event callback for when the property changes.
-
+
- Gets all items directly
- parented by the implementing object.
+ Adjust the vertical spacing between navlinks.
-
-
+
- Called by a direct child to register itself with its owner
- when it is created.
+ Gets or sets if a custom toggle for showing/hiding the menu is used.
+ This is primarily intended to be used in a mobile view
-
-
+
- Called by a direct child to unregister itself from its owner
- when it is being disposed.
+ Navigation manager
-
-
+
- Base class for and .
+ Returns if the group is expanded,
+ and if collapsed.
-
+
- Gets or sets the URL for the group.
+ Gets or sets a callback that is triggered whenever changes.
-
+
- Gets or sets the target attribute that specifies where to open the group, if Href is specified.
- Possible values: _blank | _self | _parent | _top.
+ If set to then the tree will
+ expand when it is created.
-
+
- Gets or sets the Icon to use if set.
+ Returns if the group is collapsed,
+ and if expanded.
-
+
- Gets or sets the color of the icon.
- It supports the theme colors, default value uses the themes drawer icon color.
+ Base class for and .
-
+
- Gets or sets the icon drawing and fill color to a custom value.
- Needs to be formatted as an HTML hex color string (#rrggbb or #rgb) or CSS variable.
- ⚠️ Only available when Color is set to Color.Custom.
+ Gets or sets the content to be rendered inside the component.
-
+
- If true, the button will be disabled.
+ Gets or sets whether the link is disabled.
-
+
- Gets or sets the content to be shown.
+ Gets or sets the destination of the link.
-
+
- Gets or sets the class names to use to indicate the item is active, separated by space.
+ Gets or sets the icon to display with the link
+ Use a constant value from the class
-
+
- Gets or sets how the link should be matched.
- Defaults to .
+ Called when the user attempts to execute the default action of a menu item.
-
+
- Gets or sets the tooltip to display when the mouse is placed over the item.
- For the Title is used as fallback.
+ Gets or sets a value indicating whether the item is selected.
-
+
- The callback to invoke when the item is clicked.
+ Event callback for when changes.
-
+
- If true, force browser to redirect outside component router-space.
+ Gets or sets the text of the link.
-
+
- Gets or sets the id of the custom toggle element
- Defaults to navmenu-toggle
+ Gets or sets the width of the link (in pixels).
-
+
- Returns if the item has an set.
+ Returns if the item has an set.
-
+
- If a custom toggle is being used to hide/show the menu, this defines the 'onclick' code
- Uses the as the id of the element that will be clicked
+ Gets or sets the tree item associated with this menu item.
-
+
- Gets or sets the text to display for the group.
+ Called when the user attempts to action a menu item
+ Information about the menu item
+
-
+
- If true, expands the nav group, otherwise collapse it.
- Two-way bindable
+ Gets or sets the content to be rendered inside the component.
-
+
- If true, hides expand button at the end of the NavGroup.
+ Gets or sets the content to be rendered for the expander icon when the menu is collapsible.
+ The default icon will be used if this is not specified.
-
+
- Explicitly sets the height for the Collapse element to override the css default.
+ Gets or sets the title of the navigation menu.
+ Default to "Navigation menu".
-
+
- Defines the vertical spacing between the NavGroup and adjacent items.
- Needs to be a valid CSS value.
+ Gets or sets the width of the menu (in pixels).
-
+
- If set, overrides the default expand icon.
+ Gets or sets whether or not the menu can be collapsed.
-
+
+
+
+
- Allows for specific markup and styling to be applied for the group title
- When using this, the contained s and s need to be placed in a ChildContent tag.
- When specifying both Title and TitleTemplate, both will be rendered.
+ Event callback for when the property changes.
-
+
- Gets or sets a callback that is triggered whenever changes.
+ Called when the user attempts to execute the default action of a menu item.
-
-
+
+
+ If set to then the tree will expand when it is created.
+
-
+
- Determines whether the current URI should match the link.
+ If true, the menu will re-navigate to the current page when the user clicks on the currently selected menu item.
- The absolute URI of the current location.
- True if the link should be highlighted as active; otherwise, false.
-
-
+
+
-
+
- Gets or sets the content to be rendered for the collapse icon when the menu is collapsible.
- The default icon will be used if this is not specified.
+ Navigation manager
-
+
+
+
+
+
+
+
+
+
+
- Gets or sets the title of the navigation menu using the aria-label attribute.
- Defaults to "Navigation menu".
+ An interface for supporting the ownership of .
-
+
- Gets or sets the width of the menu (in pixels).
+ .
-
+
- Gets or sets whether or not the menu can be collapsed.
+ Returns if the implementing component
+ is collapsed, and if expanded.
-
+
- Gets or sets whether a menu with all child links is shown for s when the navigation menu is collapsed.
+ Returns if the implementing component
+ is expanded, and if collapsed.
-
-
-
-
+
- Event callback for when the property changes.
+ Returns if the result of
+ contains any items, otherwise returns .
-
+
- Adjust the vertical spacing between navlinks.
+ Gets all items directly
+ parented by the implementing object.
+
-
+
- Gets or sets if a custom toggle for showing/hiding the menu is used.
- This is primarily intended to be used in a mobile view
+ Called by a direct child to register itself with its owner
+ when it is created.
+
-
+
- Navigation manager
+ Called by a direct child to unregister itself from its owner
+ when it is being disposed.
+
@@ -8532,6 +8532,12 @@
If true, the total item count will be updated even if it is the same as the current value.
+
+
+
+
+
+
Gets or sets the id of the component the popover is positioned relative to.
@@ -8610,19 +8616,26 @@
By default, Escape
-
-
-
-
+
-
+
+
+ Closes the popover. Called from JavaScript keyboard navigation.
+
+
+
+
+ Closes the popover and returns focus to the original element (used by the overlay on outside-click).
+
+
+
diff --git a/examples/Demo/Shared/Pages/HorizontalScroll/Examples/HorizontalScrollDefault.razor b/examples/Demo/Shared/Pages/HorizontalScroll/Examples/HorizontalScrollDefault.razor
index 94a18881bf..844355fc66 100644
--- a/examples/Demo/Shared/Pages/HorizontalScroll/Examples/HorizontalScrollDefault.razor
+++ b/examples/Demo/Shared/Pages/HorizontalScroll/Examples/HorizontalScrollDefault.razor
@@ -1,6 +1,6 @@
@inject ILogger logger;
-
+
Card number 1
A button
diff --git "a/src/Core.Assets/obj\\Debug/\\package.g.props" "b/src/Core.Assets/obj\\Debug/\\package.g.props"
new file mode 100644
index 0000000000..a588e28112
--- /dev/null
+++ "b/src/Core.Assets/obj\\Debug/\\package.g.props"
@@ -0,0 +1,25 @@
+
+
+
+ true
+ microsoft.fluentui.aspnetcore.components.assets
+ src/index.ts
+ dist/Microsoft.FluentUI.AspNetCore.Components.lib.module.js
+ node ./esbuild.config.mjs
+ rimraf ./dist
+ []
+
+ ISC
+ module
+ 1.13.0
+ 2.49.6
+ ^7.6.0
+ ^7.6.0
+ 0.25.0
+ ^0.0.1
+ 8.57.0
+ ^5.0.5
+ ^5.4.4
+ 2.6.1
+
+
\ No newline at end of file
diff --git a/src/Core.Assets/package-lock.json b/src/Core.Assets/package-lock.json
index 1a1a636fc1..493058dc4e 100644
--- a/src/Core.Assets/package-lock.json
+++ b/src/Core.Assets/package-lock.json
@@ -31,6 +31,414 @@
"node": ">=0.10.0"
}
},
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz",
+ "integrity": "sha1-SZYAxeF1elJJkNXZJgHwrDzof2Q=",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/android-arm/-/android-arm-0.25.0.tgz",
+ "integrity": "sha1-ym54iJQlBfE+iKyfX30qcvn6zSs=",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz",
+ "integrity": "sha1-ubgjFWGh37lOsx9O4Fa5KphcMk8=",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/android-x64/-/android-x64-0.25.0.tgz",
+ "integrity": "sha1-52XqdTusRC38nLU2Us6L050z4WM=",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz",
+ "integrity": "sha1-+jlBZLDYnU/cOoohmJr3DvV5+iw=",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz",
+ "integrity": "sha1-kZedmNMLpufWmyLGF8yCva1g5Ho=",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz",
+ "integrity": "sha1-uX6XBzMQc2tDCgewmdg3CEuF6c4=",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz",
+ "integrity": "sha1-87aU0Nph2ZEOx97/eU1ETPvztuc=",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz",
+ "integrity": "sha1-zEkwWzxtoxfJAGiJlaQFDmzJHKM=",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz",
+ "integrity": "sha1-+SH2mfFi8zIDbVZXytkDb3qZP3M=",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz",
+ "integrity": "sha1-Pgc2/PqxbP8ELeyAYkfix24Qnhk=",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz",
+ "integrity": "sha1-6iv3MIg83bnfuFEkIytah1uAIMc=",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz",
+ "integrity": "sha1-TKursU7t4JJImAotLYuWZGQpT/E=",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz",
+ "integrity": "sha1-iGCkYJkUwGU3OnckLphReWWOGVE=",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz",
+ "integrity": "sha1-uvJuILstOM+4buKC3/hAwE9O2Yc=",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz",
+ "integrity": "sha1-gyOvwNbLG23G6f0h79nhVCw2QKQ=",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz",
+ "integrity": "sha1-CPz2DLQA7SOC6fjg9VkLrIgQRpo=",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz",
+ "integrity": "sha1-k1xsdOIPciSRj74ubG/oZbbG6ls=",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz",
+ "integrity": "sha1-QUZ3zvZtFsWk0hB1HrKIG7nBtis=",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz",
+ "integrity": "sha1-j9VaTQjSXNxXKETxPIjWeMhNE/c=",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz",
+ "integrity": "sha1-DEjdsUlLvC1ry6oUKaf0Zfod7d4=",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz",
+ "integrity": "sha1-hv+Qddd5YrYN0mID1zUvkmhMjJI=",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz",
+ "integrity": "sha1-hJxiMnwyKUZ/W1zWgb9QWIRC6Ww=",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.25.0",
+ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz",
+ "integrity": "sha1-9i60gM18ygiMtlu0am2yW3JdwHk=",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@esbuild/win32-x64": {
"version": "0.25.0",
"resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz",
diff --git a/src/Core.Assets/src/index.ts b/src/Core.Assets/src/index.ts
index b69e480bf9..3bd6e34f60 100644
--- a/src/Core.Assets/src/index.ts
+++ b/src/Core.Assets/src/index.ts
@@ -312,7 +312,7 @@ export function afterStarted(blazor: Blazor, mode: string) {
};
}
});
- blazor.registerCustomEventType('scrollstart', {
+ blazor.registerCustomEventType('fluentscrollstart', {
browserEventName: 'scrollstart',
createEventArgs: event => {
return {
@@ -321,7 +321,7 @@ export function afterStarted(blazor: Blazor, mode: string) {
}
});
- blazor.registerCustomEventType('scrollend', {
+ blazor.registerCustomEventType('fluentscrollend', {
browserEventName: 'scrollend',
createEventArgs: event => {
return {
@@ -330,7 +330,7 @@ export function afterStarted(blazor: Blazor, mode: string) {
}
});
- blazor.registerCustomEventType('splitterresized', {
+ blazor.registerCustomEventType('fluentsplitterresized', {
browserEventName: 'splitterresized',
createEventArgs: event => {
return {
@@ -340,7 +340,7 @@ export function afterStarted(blazor: Blazor, mode: string) {
}
});
- blazor.registerCustomEventType('splittercollapsed', {
+ blazor.registerCustomEventType('fluentsplittercollapsed', {
browserEventName: 'splittercollapsed',
createEventArgs: event => {
return {
diff --git a/src/Core/Components/Splitter/FluentSplitter.razor b/src/Core/Components/Splitter/FluentSplitter.razor
index 0e9454c84a..daa413addb 100644
--- a/src/Core/Components/Splitter/FluentSplitter.razor
+++ b/src/Core/Components/Splitter/FluentSplitter.razor
@@ -12,8 +12,8 @@
no-barhandle="@(!BarHandle)"
slot1minsize="@Panel1MinSize"
slot2minsize="@Panel2MinSize"
- @onsplittercollapsed="OnCollapsedHandler"
- @onsplitterresized="OnResizedHandler">
+ @onfluentsplittercollapsed="OnCollapsedHandler"
+ @onfluentsplitterresized="OnResizedHandler">
@Panel1
diff --git a/src/Core/Events/EventHandlers.cs b/src/Core/Events/EventHandlers.cs
index d17c9be7f4..5a0c9a15d0 100644
--- a/src/Core/Events/EventHandlers.cs
+++ b/src/Core/Events/EventHandlers.cs
@@ -15,13 +15,13 @@ namespace Microsoft.FluentUI.AspNetCore.Components;
[EventHandler("onaccordionchange", typeof(AccordionChangeEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
[EventHandler("ondialogdismiss", typeof(DialogEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
[EventHandler("onmenuchange", typeof(MenuChangeEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
-[EventHandler("onscrollstart", typeof(HorizontalScrollEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
-[EventHandler("onscrollend", typeof(HorizontalScrollEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
+[EventHandler("onfluentscrollstart", typeof(HorizontalScrollEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
+[EventHandler("onfluentscrollend", typeof(HorizontalScrollEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
[EventHandler("onclosecolumnoptions", typeof(EventArgs), enableStopPropagation: true, enablePreventDefault: true)]
[EventHandler("onclosecolumnresize", typeof(EventArgs), enableStopPropagation: true, enablePreventDefault: true)]
[EventHandler("ontooltipdismiss", typeof(EventArgs), enableStopPropagation: true, enablePreventDefault: true)]
-[EventHandler("onsplitterresized", typeof(SplitterResizedEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
-[EventHandler("onsplittercollapsed", typeof(SplitterCollapsedEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
+[EventHandler("onfluentsplitterresized", typeof(SplitterResizedEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
+[EventHandler("onfluentsplittercollapsed", typeof(SplitterCollapsedEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
[EventHandler("oncontrolinput", typeof(ChangeEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
[EventHandler("oncomboboxchange", typeof(ChangeEventArgs), enableStopPropagation: true, enablePreventDefault: true)]
public static class EventHandlers
From de381b15881a931250b293758ee508fd1168a0de Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 8 Mar 2026 09:15:01 +0000
Subject: [PATCH 3/5] chore: remove accidentally committed build artifacts
Co-authored-by: vnbaaij <1761079+vnbaaij@users.noreply.github.com>
---
...crosoft.FluentUI.AspNetCore.Components.xml | 743 +++++++++---------
src/Core.Assets/package-lock.json | 408 ----------
2 files changed, 365 insertions(+), 786 deletions(-)
diff --git a/examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml b/examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml
index 0ee19dd8d4..88d658e67c 100644
--- a/examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml
+++ b/examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml
@@ -109,78 +109,6 @@
Gets or sets the content to be rendered inside the component.
-
-
-
-
-
-
-
-
- Prompts the user to save the linked URL. See a element for more information.
-
-
-
-
- Gets or sets the URL the hyperlink references. See a element for more information.
- Use Target parameter to specify where.
-
-
-
-
- Hints at the language of the referenced resource. See a element for more information.
-
-
-
-
- See a element for more information.
-
-
-
-
- See a element for more information.
-
-
-
-
- See a element for more information.
-
-
-
-
- Gets or sets the target attribute that specifies where to open the link, if Href is specified.
- Possible values: _blank | _self | _parent | _top.
-
-
-
-
- See a element for more information.
-
-
-
-
- Gets or sets the visual appearance. See
- Defaults to
-
-
-
-
- Gets or sets the displayed at the start of anchor content.
-
-
-
-
- Gets or sets the displayed at the end of anchor content.
-
-
-
-
- Gets or sets the content to be rendered inside the component.
-
-
-
-
-
@@ -316,6 +244,78 @@
+
+
+
+
+
+
+
+
+ Prompts the user to save the linked URL. See a element for more information.
+
+
+
+
+ Gets or sets the URL the hyperlink references. See a element for more information.
+ Use Target parameter to specify where.
+
+
+
+
+ Hints at the language of the referenced resource. See a element for more information.
+
+
+
+
+ See a element for more information.
+
+
+
+
+ See a element for more information.
+
+
+
+
+ See a element for more information.
+
+
+
+
+ Gets or sets the target attribute that specifies where to open the link, if Href is specified.
+ Possible values: _blank | _self | _parent | _top.
+
+
+
+
+ See a element for more information.
+
+
+
+
+ Gets or sets the visual appearance. See
+ Defaults to
+
+
+
+
+ Gets or sets the displayed at the start of anchor content.
+
+
+
+
+ Gets or sets the displayed at the end of anchor content.
+
+
+
+
+ Gets or sets the content to be rendered inside the component.
+
+
+
+
+
@@ -6798,16 +6798,6 @@
Gets or sets the list of items to display.
-
-
- Gets or sets the height of the header (in pixels).
-
-
-
-
- Gets or sets the content to be rendered inside the component.
-
-
Gets or sets the header content.
@@ -6843,6 +6833,83 @@
Gets or sets the content of the body.
+
+
+ Gets or sets the height of the header (in pixels).
+
+
+
+
+ Gets or sets the content to be rendered inside the component.
+
+
+
+
+ Gets or sets a reference to the button.
+
+
+
+
+ Gets or sets the button appearance.
+
+
+
+
+ The content to be rendered inside the button. This parameter should be supplied if you do not want to render a chevron
+ on the menu button.
+ If both and ButtonContent are provided, ButtonContent will be used.
+
+
+
+
+ Gets or sets a reference to the menu.
+
+
+
+
+ Use IMenuService to create the menu, if this service was injected.
+ This value must be defined before the component is rendered (you can't change it during the component lifecycle).
+ Default, true.
+
+
+
+
+ Gets or sets the texts shown on the button.
+ If both Text and are provided, ButtonContent will be used.
+
+
+
+
+ Gets or sets the displayed at the start of button content.
+
+
+
+
+ Gets or sets the button style.
+
+
+
+
+ Gets or sets the menu style.
+
+
+
+
+ Gets or sets the items to show in the menu.
+
+
+
+
+ Gets or sets the content to be shown in the menu.
+ Should consist of components.
+
+
+
+
+ The callback to invoke when a menu item is chosen.
+ Using this event prevents the execution of any OnClick event on an included FluentMenuItem.
+
+
@@ -7147,96 +7214,29 @@
-
+
+
+
+
+
+
+
+
+
+
- Gets or sets a reference to the button.
+ Gets or sets the type of message bar.
+ Default is MessageType.MessageBar. See for more details.
-
+
- Gets or sets the button appearance.
+ Gets or sets the actual message instance shown in the message bar.
-
+
- The content to be rendered inside the button. This parameter should be supplied if you do not want to render a chevron
- on the menu button.
- If both and ButtonContent are provided, ButtonContent will be used.
-
-
-
-
- Gets or sets a reference to the menu.
-
-
-
-
- Use IMenuService to create the menu, if this service was injected.
- This value must be defined before the component is rendered (you can't change it during the component lifecycle).
- Default, true.
-
-
-
-
- Gets or sets the texts shown on the button.
- If both Text and are provided, ButtonContent will be used.
-
-
-
-
- Gets or sets the displayed at the start of button content.
-
-
-
-
- Gets or sets the button style.
-
-
-
-
- Gets or sets the menu style.
-
-
-
-
- Gets or sets the items to show in the menu.
-
-
-
-
- Gets or sets the content to be shown in the menu.
- Should consist of components.
-
-
-
-
- The callback to invoke when a menu item is chosen.
- Using this event prevents the execution of any OnClick event on an included FluentMenuItem.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Gets or sets the type of message bar.
- Default is MessageType.MessageBar. See for more details.
-
-
-
-
- Gets or sets the actual message instance shown in the message bar.
-
-
-
-
- Gets or sets the message to be shown when not using the MessageService methods.
+ Gets or sets the message to be shown when not using the MessageService methods.
@@ -7701,408 +7701,408 @@
Optional section
int
-
+
- Base class for and .
+ Returns if the group is expanded,
+ and if collapsed.
-
+
- Gets or sets the URL for the group.
+ Gets or sets a callback that is triggered whenever changes.
-
+
- Gets or sets the target attribute that specifies where to open the group, if Href is specified.
- Possible values: _blank | _self | _parent | _top.
+ If set to then the tree will
+ expand when it is created.
-
+
- Gets or sets the Icon to use if set.
+ Returns if the group is collapsed,
+ and if expanded.
-
+
- Gets or sets the color of the icon.
- It supports the theme colors, default value uses the themes drawer icon color.
+ Base class for and .
-
+
- Gets or sets the icon drawing and fill color to a custom value.
- Needs to be formatted as an HTML hex color string (#rrggbb or #rgb) or CSS variable.
- ⚠️ Only available when Color is set to Color.Custom.
+ Gets or sets the content to be rendered inside the component.
-
+
- If true, the button will be disabled.
+ Gets or sets whether the link is disabled.
-
+
- Gets or sets the content to be shown.
+ Gets or sets the destination of the link.
-
+
- Gets or sets the class names to use to indicate the item is active, separated by space.
+ Gets or sets the icon to display with the link
+ Use a constant value from the class
-
+
- Gets or sets how the link should be matched.
- Defaults to .
+ Called when the user attempts to execute the default action of a menu item.
-
+
- Gets or sets the tooltip to display when the mouse is placed over the item.
- For the Title is used as fallback.
+ Gets or sets a value indicating whether the item is selected.
-
+
- The callback to invoke when the item is clicked.
+ Event callback for when changes.
-
+
- If true, force browser to redirect outside component router-space.
+ Gets or sets the text of the link.
-
+
- Gets or sets the id of the custom toggle element
- Defaults to navmenu-toggle
+ Gets or sets the width of the link (in pixels).
-
+
- Returns if the item has an set.
+ Returns if the item has an set.
-
+
- If a custom toggle is being used to hide/show the menu, this defines the 'onclick' code
- Uses the as the id of the element that will be clicked
+ Gets or sets the tree item associated with this menu item.
-
+
- Gets or sets the text to display for the group.
+ Called when the user attempts to action a menu item
+ Information about the menu item
+
-
+
- If true, expands the nav group, otherwise collapse it.
- Two-way bindable
+ Gets or sets the content to be rendered inside the component.
-
+
- If true, hides expand button at the end of the NavGroup.
+ Gets or sets the content to be rendered for the expander icon when the menu is collapsible.
+ The default icon will be used if this is not specified.
-
+
- Explicitly sets the height for the Collapse element to override the css default.
+ Gets or sets the title of the navigation menu.
+ Default to "Navigation menu".
-
+
- Defines the vertical spacing between the NavGroup and adjacent items.
- Needs to be a valid CSS value.
+ Gets or sets the width of the menu (in pixels).
-
+
- If set, overrides the default expand icon.
+ Gets or sets whether or not the menu can be collapsed.
-
-
- Allows for specific markup and styling to be applied for the group title
- When using this, the contained s and s need to be placed in a ChildContent tag.
- When specifying both Title and TitleTemplate, both will be rendered.
-
+
+
-
+
- Gets or sets a callback that is triggered whenever changes.
+ Event callback for when the property changes.
-
-
-
-
+
- Determines whether the current URI should match the link.
+ Called when the user attempts to execute the default action of a menu item.
- The absolute URI of the current location.
- True if the link should be highlighted as active; otherwise, false.
-
-
-
-
+
- Gets or sets the content to be rendered for the collapse icon when the menu is collapsible.
- The default icon will be used if this is not specified.
+ If set to then the tree will expand when it is created.
-
+
- Gets or sets the title of the navigation menu using the aria-label attribute.
- Defaults to "Navigation menu".
+ If true, the menu will re-navigate to the current page when the user clicks on the currently selected menu item.
-
+
+
+
+
- Gets or sets the width of the menu (in pixels).
+ Navigation manager
-
+
+
+
+
+
+
+
+
+
+
- Gets or sets whether or not the menu can be collapsed.
+ An interface for supporting the ownership of .
-
+
- Gets or sets whether a menu with all child links is shown for s when the navigation menu is collapsed.
+ .
-
-
-
-
+
- Event callback for when the property changes.
+ Returns if the implementing component
+ is collapsed, and if expanded.
-
+
- Adjust the vertical spacing between navlinks.
+ Returns if the implementing component
+ is expanded, and if collapsed.
-
+
- Gets or sets if a custom toggle for showing/hiding the menu is used.
- This is primarily intended to be used in a mobile view
+ Returns if the result of
+ contains any items, otherwise returns .
-
+
- Navigation manager
+ Gets all items directly
+ parented by the implementing object.
+
-
+
- Returns if the group is expanded,
- and if collapsed.
+ Called by a direct child to register itself with its owner
+ when it is created.
+
-
+
- Gets or sets a callback that is triggered whenever changes.
+ Called by a direct child to unregister itself from its owner
+ when it is being disposed.
+
-
+
- If set to then the tree will
- expand when it is created.
+ Base class for and .
-
+
- Returns if the group is collapsed,
- and if expanded.
+ Gets or sets the URL for the group.
-
+
- Base class for and .
+ Gets or sets the target attribute that specifies where to open the group, if Href is specified.
+ Possible values: _blank | _self | _parent | _top.
-
+
- Gets or sets the content to be rendered inside the component.
+ Gets or sets the Icon to use if set.
-
+
- Gets or sets whether the link is disabled.
+ Gets or sets the color of the icon.
+ It supports the theme colors, default value uses the themes drawer icon color.
-
+
- Gets or sets the destination of the link.
+ Gets or sets the icon drawing and fill color to a custom value.
+ Needs to be formatted as an HTML hex color string (#rrggbb or #rgb) or CSS variable.
+ ⚠️ Only available when Color is set to Color.Custom.
-
+
- Gets or sets the icon to display with the link
- Use a constant value from the class
+ If true, the button will be disabled.
-
+
- Called when the user attempts to execute the default action of a menu item.
+ Gets or sets the content to be shown.
-
+
- Gets or sets a value indicating whether the item is selected.
+ Gets or sets the class names to use to indicate the item is active, separated by space.
-
+
- Event callback for when changes.
+ Gets or sets how the link should be matched.
+ Defaults to .
-
+
- Gets or sets the text of the link.
+ Gets or sets the tooltip to display when the mouse is placed over the item.
+ For the Title is used as fallback.
-
+
- Gets or sets the width of the link (in pixels).
+ The callback to invoke when the item is clicked.
-
+
- Returns if the item has an set.
+ If true, force browser to redirect outside component router-space.
-
+
- Gets or sets the tree item associated with this menu item.
+ Gets or sets the id of the custom toggle element
+ Defaults to navmenu-toggle
-
+
- Called when the user attempts to action a menu item
+ Returns if the item has an set.
- Information about the menu item
-
-
+
- Gets or sets the content to be rendered inside the component.
+ If a custom toggle is being used to hide/show the menu, this defines the 'onclick' code
+ Uses the as the id of the element that will be clicked
-
+
- Gets or sets the content to be rendered for the expander icon when the menu is collapsible.
- The default icon will be used if this is not specified.
+ Gets or sets the text to display for the group.
-
+
- Gets or sets the title of the navigation menu.
- Default to "Navigation menu".
+ If true, expands the nav group, otherwise collapse it.
+ Two-way bindable
-
+
- Gets or sets the width of the menu (in pixels).
+ If true, hides expand button at the end of the NavGroup.
-
+
- Gets or sets whether or not the menu can be collapsed.
+ Explicitly sets the height for the Collapse element to override the css default.
-
-
-
-
+
- Event callback for when the property changes.
+ Defines the vertical spacing between the NavGroup and adjacent items.
+ Needs to be a valid CSS value.
-
+
- Called when the user attempts to execute the default action of a menu item.
+ If set, overrides the default expand icon.
-
+
- If set to then the tree will expand when it is created.
+ Allows for specific markup and styling to be applied for the group title
+ When using this, the contained s and s need to be placed in a ChildContent tag.
+ When specifying both Title and TitleTemplate, both will be rendered.
-
+
- If true, the menu will re-navigate to the current page when the user clicks on the currently selected menu item.
+ Gets or sets a callback that is triggered whenever changes.
-
-
+
+
-
+
- Navigation manager
+ Determines whether the current URI should match the link.
+ The absolute URI of the current location.
+ True if the link should be highlighted as active; otherwise, false.
-
-
-
-
-
+
+
-
-
+
+
+ Gets or sets the content to be rendered for the collapse icon when the menu is collapsible.
+ The default icon will be used if this is not specified.
+
-
+
- An interface for supporting the ownership of .
+ Gets or sets the title of the navigation menu using the aria-label attribute.
+ Defaults to "Navigation menu".
-
+
- .
+ Gets or sets the width of the menu (in pixels).
-
+
- Returns if the implementing component
- is collapsed, and if expanded.
+ Gets or sets whether or not the menu can be collapsed.
-
+
- Returns if the implementing component
- is expanded, and if collapsed.
+ Gets or sets whether a menu with all child links is shown for s when the navigation menu is collapsed.
-
+
+
+
+
- Returns if the result of
- contains any items, otherwise returns .
+ Event callback for when the property changes.
-
+
- Gets all items directly
- parented by the implementing object.
+ Adjust the vertical spacing between navlinks.
-
-
+
- Called by a direct child to register itself with its owner
- when it is created.
+ Gets or sets if a custom toggle for showing/hiding the menu is used.
+ This is primarily intended to be used in a mobile view
-
-
+
- Called by a direct child to unregister itself from its owner
- when it is being disposed.
+ Navigation manager
-
@@ -8532,12 +8532,6 @@
If true, the total item count will be updated even if it is the same as the current value.
-
-
-
-
-
-
Gets or sets the id of the component the popover is positioned relative to.
@@ -8616,26 +8610,19 @@
By default, Escape
-
+
-
+
-
+
-
- Closes the popover. Called from JavaScript keyboard navigation.
-
-
-
-
- Closes the popover and returns focus to the original element (used by the overlay on outside-click).
-
+
-
+
diff --git a/src/Core.Assets/package-lock.json b/src/Core.Assets/package-lock.json
index 493058dc4e..1a1a636fc1 100644
--- a/src/Core.Assets/package-lock.json
+++ b/src/Core.Assets/package-lock.json
@@ -31,414 +31,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz",
- "integrity": "sha1-SZYAxeF1elJJkNXZJgHwrDzof2Q=",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/android-arm/-/android-arm-0.25.0.tgz",
- "integrity": "sha1-ym54iJQlBfE+iKyfX30qcvn6zSs=",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz",
- "integrity": "sha1-ubgjFWGh37lOsx9O4Fa5KphcMk8=",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/android-x64/-/android-x64-0.25.0.tgz",
- "integrity": "sha1-52XqdTusRC38nLU2Us6L050z4WM=",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz",
- "integrity": "sha1-+jlBZLDYnU/cOoohmJr3DvV5+iw=",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz",
- "integrity": "sha1-kZedmNMLpufWmyLGF8yCva1g5Ho=",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz",
- "integrity": "sha1-uX6XBzMQc2tDCgewmdg3CEuF6c4=",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz",
- "integrity": "sha1-87aU0Nph2ZEOx97/eU1ETPvztuc=",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz",
- "integrity": "sha1-zEkwWzxtoxfJAGiJlaQFDmzJHKM=",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz",
- "integrity": "sha1-+SH2mfFi8zIDbVZXytkDb3qZP3M=",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz",
- "integrity": "sha1-Pgc2/PqxbP8ELeyAYkfix24Qnhk=",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz",
- "integrity": "sha1-6iv3MIg83bnfuFEkIytah1uAIMc=",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz",
- "integrity": "sha1-TKursU7t4JJImAotLYuWZGQpT/E=",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz",
- "integrity": "sha1-iGCkYJkUwGU3OnckLphReWWOGVE=",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz",
- "integrity": "sha1-uvJuILstOM+4buKC3/hAwE9O2Yc=",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz",
- "integrity": "sha1-gyOvwNbLG23G6f0h79nhVCw2QKQ=",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz",
- "integrity": "sha1-CPz2DLQA7SOC6fjg9VkLrIgQRpo=",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz",
- "integrity": "sha1-k1xsdOIPciSRj74ubG/oZbbG6ls=",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz",
- "integrity": "sha1-QUZ3zvZtFsWk0hB1HrKIG7nBtis=",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz",
- "integrity": "sha1-j9VaTQjSXNxXKETxPIjWeMhNE/c=",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz",
- "integrity": "sha1-DEjdsUlLvC1ry6oUKaf0Zfod7d4=",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz",
- "integrity": "sha1-hv+Qddd5YrYN0mID1zUvkmhMjJI=",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz",
- "integrity": "sha1-hJxiMnwyKUZ/W1zWgb9QWIRC6Ww=",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.25.0",
- "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz",
- "integrity": "sha1-9i60gM18ygiMtlu0am2yW3JdwHk=",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/@esbuild/win32-x64": {
"version": "0.25.0",
"resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz",
From 5b207b4b8f9f04fd2c8f15e8c6ba8143e3423b10 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 8 Mar 2026 09:18:03 +0000
Subject: [PATCH 4/5] chore: remove accidentally committed build artifact and
update gitignore
Co-authored-by: vnbaaij <1761079+vnbaaij@users.noreply.github.com>
---
src/Core.Assets/.gitignore | 4 ++-
.../Core.Assets/obj\\Debug/\\package.g.props" | 25 -------------------
2 files changed, 3 insertions(+), 26 deletions(-)
delete mode 100644 "src/Core.Assets/obj\\Debug/\\package.g.props"
diff --git a/src/Core.Assets/.gitignore b/src/Core.Assets/.gitignore
index 2a46b58ba4..30e9898fe3 100644
--- a/src/Core.Assets/.gitignore
+++ b/src/Core.Assets/.gitignore
@@ -1 +1,3 @@
-dist/
\ No newline at end of file
+dist/
+obj/
+obj\Debug/
\ No newline at end of file
diff --git "a/src/Core.Assets/obj\\Debug/\\package.g.props" "b/src/Core.Assets/obj\\Debug/\\package.g.props"
deleted file mode 100644
index a588e28112..0000000000
--- "a/src/Core.Assets/obj\\Debug/\\package.g.props"
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
- true
- microsoft.fluentui.aspnetcore.components.assets
- src/index.ts
- dist/Microsoft.FluentUI.AspNetCore.Components.lib.module.js
- node ./esbuild.config.mjs
- rimraf ./dist
- []
-
- ISC
- module
- 1.13.0
- 2.49.6
- ^7.6.0
- ^7.6.0
- 0.25.0
- ^0.0.1
- 8.57.0
- ^5.0.5
- ^5.4.4
- 2.6.1
-
-
\ No newline at end of file
From f9ed6951f0bde32bb1309ba6588921a4261757af Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 8 Mar 2026 09:41:48 +0000
Subject: [PATCH 5/5] revert: undo changes to src/Core.Assets/.gitignore
Co-authored-by: vnbaaij <1761079+vnbaaij@users.noreply.github.com>
---
src/Core.Assets/.gitignore | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/Core.Assets/.gitignore b/src/Core.Assets/.gitignore
index 30e9898fe3..2a46b58ba4 100644
--- a/src/Core.Assets/.gitignore
+++ b/src/Core.Assets/.gitignore
@@ -1,3 +1 @@
-dist/
-obj/
-obj\Debug/
\ No newline at end of file
+dist/
\ No newline at end of file