All
16 | {
17 | get
18 | {
19 | // List generated using https://chat.openai.com/
20 | return new Country[]
21 | {
22 | new Country("af", "Afghanistan"),
23 | new Country("al", "Albania"),
24 | new Country("dz", "Algeria"),
25 | new Country("as", "American Samoa"),
26 | new Country("ad", "Andorra"),
27 | new Country("ao", "Angola"),
28 | new Country("ai", "Anguilla"),
29 | new Country("aq", "Antarctica"),
30 | new Country("ag", "Antigua and Barbuda"),
31 | new Country("ar", "Argentina"),
32 | new Country("am", "Armenia"),
33 | new Country("aw", "Aruba"),
34 | new Country("au", "Australia"),
35 | new Country("at", "Austria"),
36 | new Country("az", "Azerbaijan"),
37 | new Country("bs", "Bahamas"),
38 | new Country("bh", "Bahrain"),
39 | new Country("bd", "Bangladesh"),
40 | new Country("bb", "Barbados"),
41 | new Country("by", "Belarus"),
42 | new Country("be", "Belgium"),
43 | new Country("bz", "Belize"),
44 | new Country("bj", "Benin"),
45 | new Country("bm", "Bermuda"),
46 | new Country("bt", "Bhutan"),
47 | new Country("bo", "Bolivia"),
48 | new Country("bq", "Bonaire, Sint Eustatius, and Saba"),
49 | new Country("ba", "Bosnia and Herzegovina"),
50 | new Country("bw", "Botswana"),
51 | new Country("bv", "Bouvet Island"),
52 | new Country("br", "Brazil"),
53 | new Country("io", "British Indian Ocean Territory"),
54 | new Country("vg", "British Virgin Islands"),
55 | new Country("bn", "Brunei"),
56 | new Country("bg", "Bulgaria"),
57 | new Country("bf", "Burkina Faso"),
58 | new Country("bi", "Burundi"),
59 | new Country("cv", "Cabo Verde"),
60 | new Country("kh", "Cambodia"),
61 | new Country("cm", "Cameroon"),
62 | new Country("ca", "Canada"),
63 | new Country("ky", "Cayman Islands"),
64 | new Country("cf", "Central African Republic"),
65 | new Country("td", "Chad"),
66 | new Country("cl", "Chile"),
67 | new Country("cn", "China"),
68 | new Country("cx", "Christmas Island"),
69 | new Country("cc", "Cocos (Keeling) Islands"),
70 | new Country("co", "Colombia"),
71 | new Country("km", "Comoros"),
72 | new Country("cd", "Congo (Congo-Kinshasa)"),
73 | new Country("ck", "Cook Islands"),
74 | new Country("cr", "Costa Rica"),
75 | new Country("hr", "Croatia"),
76 | new Country("cu", "Cuba"),
77 | new Country("cw", "Curaçao"),
78 | new Country("cy", "Cyprus"),
79 | new Country("cz", "Czech Republic"),
80 | new Country("ci", "Côte d'Ivoire"),
81 | new Country("kp", "Democratic People's Republic of Korea (North Korea)"),
82 | new Country("dk", "Denmark"),
83 | new Country("dj", "Djibouti"),
84 | new Country("dm", "Dominica"),
85 | new Country("do", "Dominican Republic"),
86 | new Country("ec", "Ecuador"),
87 | new Country("eg", "Egypt"),
88 | new Country("sv", "El Salvador"),
89 | new Country("gq", "Equatorial Guinea"),
90 | new Country("er", "Eritrea"),
91 | new Country("ee", "Estonia"),
92 | new Country("sz", "Eswatini"),
93 | new Country("et", "Ethiopia"),
94 | new Country("fk", "Falkland Islands (Malvinas)"),
95 | new Country("fo", "Faroe Islands"),
96 | new Country("fj", "Fiji"),
97 | new Country("fi", "Finland"),
98 | new Country("fr", "France"),
99 | new Country("gf", "French Guiana"),
100 | new Country("pf", "French Polynesia"),
101 | new Country("tf", "French Southern Territories"),
102 | new Country("ga", "Gabon"),
103 | new Country("gm", "Gambia"),
104 | new Country("ge", "Georgia"),
105 | new Country("de", "Germany"),
106 | new Country("gh", "Ghana"),
107 | new Country("gi", "Gibraltar"),
108 | new Country("gr", "Greece"),
109 | new Country("gl", "Greenland"),
110 | new Country("gd", "Grenada"),
111 | new Country("gp", "Guadeloupe"),
112 | new Country("gu", "Guam"),
113 | new Country("gt", "Guatemala"),
114 | new Country("gg", "Guernsey"),
115 | new Country("gn", "Guinea"),
116 | new Country("gw", "Guinea-Bissau"),
117 | new Country("gy", "Guyana"),
118 | new Country("ht", "Haiti"),
119 | new Country("hm", "Heard Island and McDonald Islands"),
120 | new Country("va", "Holy See"),
121 | new Country("hn", "Honduras"),
122 | new Country("hk", "Hong Kong"),
123 | new Country("hu", "Hungary"),
124 | new Country("is", "Iceland"),
125 | new Country("in", "India"),
126 | new Country("id", "Indonesia"),
127 | new Country("ir", "Iran"),
128 | new Country("iq", "Iraq"),
129 | new Country("ie", "Ireland"),
130 | new Country("im", "Isle of Man"),
131 | new Country("il", "Israel"),
132 | new Country("it", "Italy"),
133 | new Country("jm", "Jamaica"),
134 | new Country("jp", "Japan"),
135 | new Country("je", "Jersey"),
136 | new Country("jo", "Jordan"),
137 | new Country("kz", "Kazakhstan"),
138 | new Country("ke", "Kenya"),
139 | new Country("ki", "Kiribati"),
140 | new Country("kw", "Kuwait"),
141 | new Country("kg", "Kyrgyzstan"),
142 | new Country("la", "Lao People's Democratic Republic"),
143 | new Country("lv", "Latvia"),
144 | new Country("lb", "Lebanon"),
145 | new Country("ls", "Lesotho"),
146 | new Country("lr", "Liberia"),
147 | new Country("ly", "Libya"),
148 | new Country("li", "Liechtenstein"),
149 | new Country("lt", "Lithuania"),
150 | new Country("lu", "Luxembourg"),
151 | new Country("mo", "Macao"),
152 | new Country("mg", "Madagascar"),
153 | new Country("mw", "Malawi"),
154 | new Country("my", "Malaysia"),
155 | new Country("mv", "Maldives"),
156 | new Country("ml", "Mali"),
157 | new Country("mt", "Malta"),
158 | new Country("mh", "Marshall Islands"),
159 | new Country("mq", "Martinique"),
160 | new Country("mr", "Mauritania"),
161 | new Country("mu", "Mauritius"),
162 | new Country("yt", "Mayotte"),
163 | new Country("mx", "Mexico"),
164 | new Country("fm", "Micronesia"),
165 | new Country("md", "Moldova"),
166 | new Country("mc", "Monaco"),
167 | new Country("mn", "Mongolia"),
168 | new Country("me", "Montenegro"),
169 | new Country("ms", "Montserrat"),
170 | new Country("ma", "Morocco"),
171 | new Country("mz", "Mozambique"),
172 | new Country("mm", "Myanmar"),
173 | new Country("na", "Namibia"),
174 | new Country("nr", "Nauru"),
175 | new Country("np", "Nepal"),
176 | new Country("nl", "Netherlands"),
177 | new Country("nc", "New Caledonia"),
178 | new Country("nz", "New Zealand"),
179 | new Country("ni", "Nicaragua"),
180 | new Country("ne", "Niger"),
181 | new Country("ng", "Nigeria"),
182 | new Country("nu", "Niue"),
183 | new Country("nf", "Norfolk Island"),
184 | new Country("mp", "Northern Mariana Islands"),
185 | new Country("no", "Norway"),
186 | new Country("om", "Oman"),
187 | new Country("pk", "Pakistan"),
188 | new Country("ps", "Palestine"),
189 | new Country("pa", "Panama"),
190 | new Country("pg", "Papua New Guinea"),
191 | new Country("py", "Paraguay"),
192 | new Country("pe", "Peru"),
193 | new Country("ph", "Philippines"),
194 | new Country("pn", "Pitcairn"),
195 | new Country("pl", "Poland"),
196 | new Country("pt", "Portugal"),
197 | new Country("pr", "Puerto Rico"),
198 | new Country("qa", "Qatar"),
199 | new Country("kr", "Republic of Korea (South Korea)"),
200 | new Country("md", "Republic of Moldova"),
201 | new Country("ro", "Romania"),
202 | new Country("ru", "Russian Federation"),
203 | new Country("rw", "Rwanda"),
204 | new Country("re", "Réunion"),
205 | new Country("bl", "Saint Barthélemy"),
206 | new Country("sh", "Saint Helena"),
207 | new Country("kn", "Saint Kitts and Nevis"),
208 | new Country("lc", "Saint Lucia"),
209 | new Country("mf", "Saint Martin"),
210 | new Country("pm", "Saint Pierre and Miquelon"),
211 | new Country("vc", "Saint Vincent and the Grenadines"),
212 | new Country("ws", "Samoa"),
213 | new Country("sm", "San Marino"),
214 | new Country("st", "Sao Tome and Principe"),
215 | new Country("sa", "Saudi Arabia"),
216 | new Country("sn", "Senegal"),
217 | new Country("rs", "Serbia"),
218 | new Country("sc", "Seychelles"),
219 | new Country("sl", "Sierra Leone"),
220 | new Country("sg", "Singapore"),
221 | new Country("sx", "Sint Maarten"),
222 | new Country("sk", "Slovakia"),
223 | new Country("si", "Slovenia"),
224 | new Country("sb", "Solomon Islands"),
225 | new Country("so", "Somalia"),
226 | new Country("za", "South Africa"),
227 | new Country("gs", "South Georgia and the South Sandwich Islands"),
228 | new Country("ss", "South Sudan"),
229 | new Country("es", "Spain"),
230 | new Country("lk", "Sri Lanka"),
231 | new Country("sd", "Sudan"),
232 | new Country("sr", "Suriname"),
233 | new Country("sj", "Svalbard and Jan Mayen"),
234 | new Country("se", "Sweden"),
235 | new Country("ch", "Switzerland"),
236 | new Country("sy", "Syria"),
237 | new Country("tw", "Taiwan"),
238 | new Country("tj", "Tajikistan"),
239 | new Country("th", "Thailand"),
240 | new Country("mk", "The Former Yugoslav Republic of Macedonia"),
241 | new Country("tl", "Timor-Leste"),
242 | new Country("tg", "Togo"),
243 | new Country("tk", "Tokelau"),
244 | new Country("to", "Tonga"),
245 | new Country("tt", "Trinidad and Tobago"),
246 | new Country("tn", "Tunisia"),
247 | new Country("tr", "Turkey"),
248 | new Country("tm", "Turkmenistan"),
249 | new Country("tc", "Turks and Caicos Islands"),
250 | new Country("tv", "Tuvalu"),
251 | new Country("ug", "Uganda"),
252 | new Country("ua", "Ukraine"),
253 | new Country("ae", "United Arab Emirates"),
254 | new Country("gb", "United Kingdom"),
255 | new Country("us", "United States of America"),
256 | new Country("vi", "United States Virgin Islands"),
257 | new Country("uy", "Uruguay"),
258 | new Country("uz", "Uzbekistan"),
259 | new Country("vu", "Vanuatu"),
260 | new Country("ve", "Venezuela"),
261 | new Country("vn", "Vietnam"),
262 | new Country("wf", "Wallis and Futuna"),
263 | new Country("eh", "Western Sahara"),
264 | new Country("ye", "Yemen"),
265 | new Country("zm", "Zambia"),
266 | new Country("zw", "Zimbabwe"),
267 | };
268 | }
269 | }
270 | }
--------------------------------------------------------------------------------
/src/DemoFluentUI/Components/Pages/Error.razor:
--------------------------------------------------------------------------------
1 | @page "/Error"
2 | @using System.Diagnostics
3 |
4 | Error
5 |
6 | Error.
7 | An error occurred while processing your request.
8 |
9 | @if (ShowRequestId)
10 | {
11 |
12 | Request ID: @RequestId
13 |
14 | }
15 |
16 | Development Mode
17 |
18 | Swapping to Development environment will display more detailed information about the error that occurred.
19 |
20 |
21 | The Development environment shouldn't be enabled for deployed applications.
22 | It can result in displaying sensitive information from exceptions to end users.
23 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
24 | and restarting the app.
25 |
26 |
27 | @code{
28 | [CascadingParameter] public HttpContext? HttpContext { get; set; }
29 |
30 | public string? RequestId { get; set; }
31 | public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
32 |
33 | protected override void OnInitialized() =>
34 | RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
35 | }
36 |
--------------------------------------------------------------------------------
/src/DemoFluentUI/Components/Pages/Home.razor:
--------------------------------------------------------------------------------
1 | @page "/"
2 | @using Microsoft.FluentUI.AspNetCore.Components.DesignTokens
3 | @using Microsoft.FluentUI.AspNetCore.Components.Extensions
4 | @inject BaseLayerLuminance BaseLayerLuminance
5 | @inject AccentBaseColor AccentBaseColor
6 |
7 | Home
8 |
9 | Hello, world!
10 |
11 | Welcome to your new app.
12 |
13 |
14 | Settings
15 |
16 | ())
18 | Height="200px"
19 | @bind-SelectedOption="@Color" />
20 |
21 |
26 |
27 |
28 | @code {
29 | private OfficeColor _color = OfficeColor.Default;
30 | private bool _isDark = false;
31 |
32 | public OfficeColor Color
33 | {
34 | get => _color;
35 | set
36 | {
37 | _color = value == OfficeColor.Default ? OfficeColor.Word : value;
38 |
39 | var colorHex = _color.ToAttributeValue() ?? "default";
40 | AccentBaseColor.WithDefault(colorHex.ToSwatch());
41 | }
42 | }
43 |
44 | public bool IsDark
45 | {
46 | get => _isDark;
47 | set
48 | {
49 | _isDark = value;
50 |
51 | var luminance = _isDark ? StandardLuminance.DarkMode : StandardLuminance.LightMode;
52 | BaseLayerLuminance.WithDefault(luminance.GetLuminanceValue());
53 | }
54 | }
55 | }
--------------------------------------------------------------------------------
/src/DemoFluentUI/Components/Pages/Register.razor:
--------------------------------------------------------------------------------
1 | @page "/register"
2 | @inject IDialogService DialogService
3 | @inject IToastService ToastService
4 |
5 | New user
6 |
7 | Register
8 |
9 |
10 |
11 |
12 | Let's get you all set up so you can verify your personal account and begin
13 | setting up your profile.
14 |
15 |
16 |
17 |
21 |
24 |
26 | @* Country *@
27 |
36 |
37 |
38 | @language.HtmlFlagAndName
39 |
40 |
41 |
42 | Please select only one country.
43 |
44 |
45 |
46 |
51 |
52 |
54 |
55 |
56 |
57 |
62 | Create account
63 |
64 |
65 |
66 |
67 | @code {
68 | private RegisterUser Data = new();
69 | private bool AcceptToCreate = false;
70 | private bool Loading = false;
71 |
72 | private async Task ValidHandlerAsync()
73 | {
74 | Loading = true;
75 |
76 | // Simulate asynchronous loading
77 | await Task.Delay(1000);
78 |
79 | // Confirmation
80 | // await DialogService.ShowInfoAsync(message: "Your account has been successfully created",
81 | // title: "New user");
82 |
83 | // await DialogService.ShowDialogAsync(new DialogParameters()
84 | // {
85 | // Title = "New user",
86 | // });
87 |
88 | ToastService.ShowSuccess("Your account has been successfully created");
89 |
90 | Loading = false;
91 | }
92 |
93 | private async Task OnSearchAsync(OptionsSearchEventArgs e)
94 | {
95 | e.Items = Country.All.Where(i => i.Name.StartsWith(e.Text, StringComparison.OrdinalIgnoreCase))
96 | .OrderBy(i => i.Name);
97 |
98 | await Task.CompletedTask;
99 | }
100 |
101 | public class RegisterUser
102 | {
103 | public string? LastName { get; set; } = "John";
104 | public string? FistName { get; set; } = "Smith";
105 | public DateTime? BirthDate { get; set; }
106 | public string? Email { get; set; } = "john@mycompany.com";
107 | public IEnumerable Languages { get; set; } = Array.Empty();
108 | }
109 | }
110 |
--------------------------------------------------------------------------------
/src/DemoFluentUI/Components/Pages/Weather.razor:
--------------------------------------------------------------------------------
1 | @page "/weather"
2 |
3 | Weather
4 |
5 | Weather
6 |
7 | This component demonstrates showing data.
8 |
9 | @if (GridItems == null)
10 | {
11 | Loading...
12 | }
13 | else
14 | {
15 |
16 |
21 |
22 |
23 |
24 |
25 | @if (context.TemperatureC > 21)
26 | {
27 |
28 | }
29 | else
30 | {
31 |
32 | }
33 |
34 |
35 |
36 |
37 | }
38 |
39 | @code {
40 | private IQueryable? GridItems;
41 |
42 | protected override async Task OnAfterRenderAsync(bool firstRender)
43 | {
44 | if (!firstRender) return;
45 |
46 | // Simulate asynchronous loading to demonstrate streaming rendering
47 | await Task.Delay(500);
48 |
49 | var Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" };
50 |
51 | GridItems = Enumerable.Range(1, 5).Select(index => new WeatherForecast
52 | {
53 | Date = DateOnly.FromDateTime(DateTime.Now).AddDays(index),
54 | TemperatureC = index * 2 + 17,
55 | Summary = Summaries[index],
56 | }).AsQueryable();
57 |
58 | StateHasChanged();
59 | }
60 |
61 | private class WeatherForecast
62 | {
63 | public DateOnly Date { get; set; }
64 | public int TemperatureC { get; set; }
65 | public string? Summary { get; set; }
66 | public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/src/DemoFluentUI/Components/Routes.razor:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/DemoFluentUI/Components/_Imports.razor:
--------------------------------------------------------------------------------
1 | @using System.Net.Http
2 | @using System.Net.Http.Json
3 | @using Microsoft.AspNetCore.Components.Forms
4 | @using Microsoft.AspNetCore.Components.Routing
5 | @using Microsoft.AspNetCore.Components.Web
6 | @using Microsoft.AspNetCore.Components.Web.Virtualization
7 | @using Microsoft.JSInterop
8 | @using DemoFluentUI
9 | @using DemoFluentUI.Components
10 | @using Microsoft.FluentUI.AspNetCore.Components
--------------------------------------------------------------------------------
/src/DemoFluentUI/DemoFluentUI.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 | enable
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/DemoFluentUI/Program.cs:
--------------------------------------------------------------------------------
1 | using DemoFluentUI.Components;
2 | using Microsoft.FluentUI.AspNetCore.Components;
3 |
4 | var builder = WebApplication.CreateBuilder(args);
5 |
6 | // Add services to the container.
7 | builder.Services.AddRazorComponents()
8 | .AddInteractiveServerComponents();
9 |
10 | // Add FluentUI
11 | builder.Services.AddHttpClient();
12 | builder.Services.AddFluentUIComponents();
13 |
14 | var app = builder.Build();
15 |
16 | // Configure the HTTP request pipeline.
17 | if (!app.Environment.IsDevelopment())
18 | {
19 | app.UseExceptionHandler("/Error", createScopeForErrors: true);
20 | // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
21 | app.UseHsts();
22 | }
23 |
24 | app.UseHttpsRedirection();
25 |
26 | app.UseStaticFiles();
27 | app.UseAntiforgery();
28 |
29 | app.MapRazorComponents()
30 | .AddInteractiveServerRenderMode();
31 |
32 | app.Run();
33 |
--------------------------------------------------------------------------------
/src/DemoFluentUI/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/launchsettings.json",
3 | "iisSettings": {
4 | "windowsAuthentication": false,
5 | "anonymousAuthentication": true,
6 | "iisExpress": {
7 | "applicationUrl": "http://localhost:39785",
8 | "sslPort": 44334
9 | }
10 | },
11 | "profiles": {
12 | "http": {
13 | "commandName": "Project",
14 | "dotnetRunMessages": true,
15 | "launchBrowser": true,
16 | "applicationUrl": "http://localhost:5256",
17 | "environmentVariables": {
18 | "ASPNETCORE_ENVIRONMENT": "Development"
19 | }
20 | },
21 | "https": {
22 | "commandName": "Project",
23 | "dotnetRunMessages": true,
24 | "launchBrowser": true,
25 | "applicationUrl": "https://localhost:7269;http://localhost:5256",
26 | "environmentVariables": {
27 | "ASPNETCORE_ENVIRONMENT": "Development"
28 | }
29 | },
30 | "IIS Express": {
31 | "commandName": "IISExpress",
32 | "launchBrowser": true,
33 | "environmentVariables": {
34 | "ASPNETCORE_ENVIRONMENT": "Development"
35 | }
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/DemoFluentUI/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/DemoFluentUI/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
10 |
--------------------------------------------------------------------------------
/src/DemoFluentUI/wwwroot/app.css:
--------------------------------------------------------------------------------
1 | h1:focus {
2 | outline: none;
3 | }
4 |
5 | .valid.modified:not([type=checkbox]) {
6 | outline: 1px solid #26b050;
7 | }
8 |
9 | .invalid {
10 | outline: 1px solid #e52560;
11 | }
12 |
13 | .validation-message {
14 | color: #e52560;
15 | }
16 |
17 | .blazor-error-boundary {
18 | background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
19 | padding: 1rem 1rem 1rem 3.7rem;
20 | color: white;
21 | }
22 |
23 | .blazor-error-boundary::after {
24 | content: "An error has occurred."
25 | }
26 |
27 | /* Demo Styles */
28 | body {
29 | margin: 0px;
30 | height: 100vh;
31 | }
32 |
33 | .footer {
34 | background-color: var(--neutral-layer-4);
35 | padding: 4px 0px;
36 | text-align: center;
37 | }
38 |
39 | .fluent-nav-menu {
40 | background-color: var(--neutral-layer-1);
41 | height: 100%;
42 | }
43 |
44 | .main-content {
45 | height: 100%;
46 | width: 100%;
47 | padding: 0px 16px;
48 | }
49 |
50 | fluent-text-field {
51 | min-width: 100%;
52 | margin-bottom: 16px;
53 | }
--------------------------------------------------------------------------------
/src/unlockfluentui.demosnippets:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dvoituron/dotnetconf-2023-fluentui-blazor/65e5881b11f66c58fc125098d6a06c3fc738ba45/src/unlockfluentui.demosnippets
--------------------------------------------------------------------------------