# fluentui-blazor **Repository Path**: timchen44/fluentui-blazor ## Basic Information - **Project Name**: fluentui-blazor - **Description**: No description available - **Primary Language**: C# - **License**: MIT - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-02 - **Last Updated**: 2024-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Microsoft Fluent UI Blazor components [](https://opensource.org/licenses/MIT) [](https://docs.microsoft.com/en-us/dotnet/csharp/) [](https://www.nuget.org/packages/Microsoft.FluentUI.AspNetCore.Components) [](https://www.nuget.org/packages/Microsoft.FluentUI.AspNetCore.Templates) [](https://github.com/microsoft/fluentui-blazor/actions/workflows/codeql-analysis.yml) [](https://app.gitter.im/#/room/#fluentui-blazor:gitter.im) [](https://discord.gg/FcSNfg4) :star: We appreciate your star, it helps! **This package is for use in .NET 8 Blazor projects. If you are using .NET 6 or 7, please use the v3 version of the package which is named `Microsoft.Fast.Components.FluentUI`** ## Introduction The `Microsoft.FluentUI.AspNetCore.Components` package provides a set of [Blazor](https://blazor.net) components which are used to build applications that have a Fluent design (i.e. have the look and feel or modern Microsoft applications). Some of the components in the library are wrappers around Microsoft's official Fluent UI Web Components. Others are components that leverage the Fluent Design System or make it easier to work with Fluent UI. To get up and running with the library, see the **Getting Started** section below. The source for the library is hosted in the [fluentui-blazor](https://github.com/microsoft/fluentui-blazor) repository at GitHub. Documentation on the components is available at the [demo site](https://www.fluentui-blazor.net). ## Upgrading from an earlier version If you are upgrading from an earlier version of the library, please see the [what's new](https://www.fluentui-blazor.net/whatsnew) for information on (breaking) changes. ## Getting Started ### Using our dotnet templates The easiest way to get started is by using our [Templates](https://www.nuget.org/packages/Microsoft.FluentUI.AspNetCore.Templates). These mimic the regular Blazor templates and come with the design and components pre-configured. You install them with this command: ```shell dotnet new install Microsoft.FluentUI.AspNetCore.Templates ``` Navigate to a folder where you want to create your new project and run the following command to create a new project. ```shell dotnet new fluentblazor --name MyApplication ``` If you want to create a new standalone WebAssembly project, you can use the following command: ```shell dotnet new fluentblazorwasm --name MyApplication ``` When using Visual Studio, you can also use the **New Project** dialog to create a new project. The templates will be available under the **Blazor** category. ### Manual Install To start using the **Fluent UI Blazor components** from scratch, you first need to install the main [Nuget package](https://www.nuget.org/packages/Microsoft.FluentUI.AspNetCore.Components/) in the project you want to use the library and its components. You can use the NuGet package manager in your IDE or use the following command when using a CLI: ```shell dotnet add package Microsoft.FluentUI.AspNetCore.Components ``` If you want to extend the functionality of the library with [icons](https://www.nuget.org/packages/Microsoft.FluentUI.AspNetCore.Components.Icons) or [emoji](https://www.nuget.org/packages/Microsoft.FluentUI.AspNetCore.Components.Emoji), you can install additional packages for that: ```shell dotnet add package Microsoft.FluentUI.AspNetCore.Components.Icons dotnet add package Microsoft.FluentUI.AspNetCore.Components.Emoji ``` ### Script As mentioned, we wrap the **Fluent UI Web Components** which are implemented in a script file. This **file is included in the library** itself and does not have to be downloaded or pulled from a CDN. > By including the script in the library we can safeguard that you are always using the best matching script version. Even when using **SSR (Static Server Rendering)**, the script will be included and loaded automatically. If you want the script to be loaded before Blazor starts, add it to your `App.razor` file like this: ```html ``` If you add interactivity later, the Blazor script will kick in and try to load the web component script again but JavaScript will handle that gracefully by design. ### Reboot (optional) **Reboot** is a collection of element-specific CSS changes in a single file to help kick-start building a site with the **Fluent UI Blazor** components. It provides an elegant, consistent, and simple baseline to build upon. If you want to use **Reboot**, you'll need to add to your `app.razor`, `index.html` or `_Layout.cshtml` file a line that includes the stylesheet (`.css` file). This can be done by adding the following line to the `
` section: ```html ``` When using the templates to create your application, **Reboot** is already set-up for you. ### Register Services Add the following in `Program.cs` ```csharp builder.Services.AddFluentUIComponents(); ``` If you're running your application on **Blazor Server**, make sure a default `HttpClient` is registered before the `AddFluentUIComponents` method. ```csharp builder.Services.AddHttpClient(); ``` ### Add Component Providers Add the following components at the end of your `MainLayout.razor` file. These providers are used by associated services to display Toasts, Dialog boxes, Tooltips or Message Bars correctly. ```xml