Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrating documentation to .NET 8 - WASM mode #5091

Open
wants to merge 29 commits into
base: rel-1.4
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
8483cdc
Upgrade net8 packages
stsrki Aug 26, 2023
b66832e
Fix warning in launchSettings
stsrki Aug 26, 2023
6440586
Use App.razor for base component
stsrki Aug 26, 2023
6f722ae
Rename Seo class to SeoGenerator
stsrki Aug 26, 2023
5a1b1e7
Configure Program and Startup for net8
stsrki Aug 26, 2023
0244144
Add StreamRendering to pricing page
stsrki Aug 26, 2023
84817e4
Add more net8 packages
stsrki Aug 26, 2023
e62f447
Add counter page to test interactivity
David-Moreira Aug 26, 2023
45d79db
merge / remove wasm dependencies
David-Moreira Aug 26, 2023
bffb4e1
Make the router take in rendermode Server
David-Moreira Aug 26, 2023
4cd60b1
Separate Routes.razor
stsrki Aug 26, 2023
79dcba1
Use Routes.razor
stsrki Aug 26, 2023
a54fb00
merge
stsrki Sep 13, 2023
2266667
Use net8.0 for Blazorise.Docs.Compiler
stsrki Sep 13, 2023
f024679
ThemeProvider in Routes
stsrki Sep 13, 2023
d569083
Add missing rewardful JS scripts
stsrki Sep 13, 2023
ab9b8a6
Formating
stsrki Sep 13, 2023
c40d82a
Remove render mode from home and pricing pages
stsrki Sep 14, 2023
87deea8
Merge branch 'rel-1.3' into rel-1.2-net8-docs-v2
stsrki Oct 20, 2023
3fccab0
Update NuGet packages
stsrki Oct 20, 2023
3d960e6
Update server rendering mode APIs
stsrki Oct 20, 2023
a1c492c
Convert Blazorise.Docs to WASM client
stsrki Oct 20, 2023
0ac6cb7
Merge branch 'rel-1.4' into rel-1.2-net8-docs-v2-automode
stsrki Jan 3, 2024
113cc2e
merge 1.4
stsrki Jan 24, 2024
f0c2aa9
Fix CSS and JS paths
stsrki Jan 24, 2024
1771153
Update runtime versions
stsrki Jan 24, 2024
00e9a8e
Remove AllowSynchronousIO
stsrki Jan 24, 2024
e5eb204
Remove <SupportedPlatform Include="browser" />
stsrki Jan 24, 2024
1530e73
Fix Wasm project configuration | Interactive Auto Changes
David-Moreira Jan 31, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions Build/Blazorise.Docs.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,12 @@

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<OutputType>Library</OutputType>
<IsPackable>true</IsPackable>
<LangVersion>10.0</LangVersion>
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>
<NoDefaultLaunchSettingsFile>true</NoDefaultLaunchSettingsFile>
<StaticWebAssetProjectMode>Default</StaticWebAssetProjectMode>
David-Moreira marked this conversation as resolved.
Show resolved Hide resolved
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components" Version="8.0.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.*" />
<PackageReference Include="FluentValidation" Version="11.2.0" />
<PackageReference Include="FluentValidation.DependencyInjectionExtensions" Version="11.2.0" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
@using Blazorise.Components
@using System.Reflection;
@using Blazorise.Docs.Layouts;
@using Microsoft.AspNetCore.Components.Web

<!DOCTYPE html>
<html lang="en">
Expand All @@ -10,7 +11,7 @@

<base href="/" />

<HeadOutlet @rendermode="RenderMode.InteractiveServer" />
<HeadOutlet />

<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
Expand All @@ -31,7 +32,7 @@
<link href="_content/Blazorise.SpinKit/blazorise.spinkit.min.css?v=1.4.1.0" rel="stylesheet" />
<link href="_content/Blazorise.LoadingIndicator/blazorise.loadingindicator.min.css?v=1.4.1.0" rel="stylesheet" />
<link href="_content/Blazorise.TreeView/blazorise.treeview.min.css?v=1.4.1.0" rel="stylesheet" />
<link href="_content/Blazorise.Docs/blazorise.docs.min.css?v=1.4.1.0" rel="stylesheet" />
<link href="blazorise.docs.min.css?v=1.4.1.0" rel="stylesheet" />

<link href="css/site.css?v=1.4.1.0" rel="stylesheet" />

Expand All @@ -41,7 +42,7 @@
<script async src='https://r.wdfl.co/rw.js' data-rewardful='42a4f3'></script>
</head>
<body>
<Routes @rendermode="RenderMode.InteractiveServer" />
<Routes @rendermode="RenderMode.InteractiveAuto" />

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.7.1/chart.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
Expand All @@ -58,8 +59,8 @@
</script>

<script src="_content/Blazorise.Animate/blazorise.animate.js?v=1.4.1.0"></script>
<script src="_content/Blazorise.Docs/blazorise.docs.min.js?v=1.4.1.0"></script>
<script src="blazorise.docs.min.js?v=1.4.1.0"></script>

<script src="_framework/blazor.web.js" suppress-error="BL9992"></script>
<script src="_framework/blazor.web.js"></script>
</body>
</html>
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\..\Source\Blazorise.Bootstrap5\Blazorise.Bootstrap5.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Icons.FontAwesome\Blazorise.Icons.FontAwesome.csproj" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="8.0.*" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Blazorise.Docs\Blazorise.Docs.csproj" />
</ItemGroup>

Expand Down
17 changes: 12 additions & 5 deletions Documentation/Blazorise.Docs.Server/Startup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.AspNetCore.Server.Kestrel.Core;

namespace Blazorise.Docs.Server;

Expand All @@ -37,7 +36,8 @@ public void ConfigureServices( IServiceCollection services )
// Add services to the container.
services
.AddRazorComponents()
.AddInteractiveServerComponents();
.AddInteractiveServerComponents()
.AddInteractiveWebAssemblyComponents();

services.AddHttpContextAccessor();

Expand All @@ -52,7 +52,7 @@ public void ConfigureServices( IServiceCollection services )
.AddBlazoriseRichTextEdit()
.AddBlazoriseFluentValidation();

services.AddValidatorsFromAssembly( typeof( App ).Assembly );
services.AddValidatorsFromAssembly( typeof( Blazorise.Docs._Imports ).Assembly );

services.AddMemoryCache();
services.AddScoped<Shared.Data.EmployeeData>();
Expand Down Expand Up @@ -101,7 +101,12 @@ public void Configure( WebApplication app )
{
app.UseResponseCompression();

if ( !app.Environment.IsDevelopment() )
// Configure the HTTP request pipeline.
if ( app.Environment.IsDevelopment() )
{
app.UseWebAssemblyDebugging();
}
else
{
app.UseExceptionHandler( "/Error" );
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
Expand All @@ -114,7 +119,9 @@ public void Configure( WebApplication app )
app.UseAntiforgery();

app.MapRazorComponents<App>()
.AddInteractiveServerRenderMode();
.AddInteractiveServerRenderMode()
.AddInteractiveWebAssemblyRenderMode()
.AddAdditionalAssemblies( typeof( Blazorise.Docs._Imports ).Assembly );

//app.UseRouting();

Expand Down
177 changes: 87 additions & 90 deletions Documentation/Blazorise.Docs/Blazorise.Docs.csproj
Original file line number Diff line number Diff line change
@@ -1,101 +1,98 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">

David-Moreira marked this conversation as resolved.
Show resolved Hide resolved
<Import Project="..\..\Build\Blazorise.Docs.props" />
<Import Project="..\..\Build\Blazorise.Docs.props" />

<ItemGroup>
<SupportedPlatform Include="browser" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Shared\Blazorise.Shared\Blazorise.Shared.csproj" />
<ProjectReference Include="..\..\Source\Blazorise\Blazorise.csproj" />
<ProjectReference Include="..\..\Source\Blazorise.Bootstrap5\Blazorise.Bootstrap5.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Animate\Blazorise.Animate.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Charts.Streaming\Blazorise.Charts.Streaming.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Charts.Trendline\Blazorise.Charts.Trendline.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Charts.DataLabels\Blazorise.Charts.DataLabels.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Charts.Annotation\Blazorise.Charts.Annotation.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Charts\Blazorise.Charts.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Components\Blazorise.Components.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.DataGrid\Blazorise.DataGrid.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Icons.FontAwesome\Blazorise.Icons.FontAwesome.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Markdown\Blazorise.Markdown.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.QRCode\Blazorise.QRCode.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.RichTextEdit\Blazorise.RichTextEdit.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Sidebar\Blazorise.Sidebar.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Snackbar\Blazorise.Snackbar.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.SpinKit\Blazorise.SpinKit.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.LoadingIndicator\Blazorise.LoadingIndicator.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.TreeView\Blazorise.TreeView.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Video\Blazorise.Video.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.FluentValidation\Blazorise.FluentValidation.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.LottieAnimation\Blazorise.LottieAnimation.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Cropper\Blazorise.Cropper.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.SignaturePad\Blazorise.SignaturePad.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Splitter\Blazorise.Splitter.csproj" />
<PackageReference Include="MailKit" Version="3.1.1" />
<PackageReference Include="MimeKit" Version="3.1.1" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\Shared\Blazorise.Shared\Blazorise.Shared.csproj" />
<ProjectReference Include="..\..\Source\Blazorise\Blazorise.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Animate\Blazorise.Animate.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Charts.Streaming\Blazorise.Charts.Streaming.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Charts.Trendline\Blazorise.Charts.Trendline.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Charts.DataLabels\Blazorise.Charts.DataLabels.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Charts.Annotation\Blazorise.Charts.Annotation.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Charts\Blazorise.Charts.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Components\Blazorise.Components.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.DataGrid\Blazorise.DataGrid.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Icons.FontAwesome\Blazorise.Icons.FontAwesome.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Markdown\Blazorise.Markdown.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.QRCode\Blazorise.QRCode.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.RichTextEdit\Blazorise.RichTextEdit.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Sidebar\Blazorise.Sidebar.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Snackbar\Blazorise.Snackbar.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.SpinKit\Blazorise.SpinKit.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.LoadingIndicator\Blazorise.LoadingIndicator.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.TreeView\Blazorise.TreeView.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Video\Blazorise.Video.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.FluentValidation\Blazorise.FluentValidation.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.LottieAnimation\Blazorise.LottieAnimation.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Cropper\Blazorise.Cropper.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.SignaturePad\Blazorise.SignaturePad.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Splitter\Blazorise.Splitter.csproj" />
<PackageReference Include="MailKit" Version="3.1.1" />
<PackageReference Include="MimeKit" Version="3.1.1" />
</ItemGroup>
<!--Binary path for the code generator-->
<PropertyGroup>
<BinDocsCompiler>..\..\Documentation/Blazorise.Docs.Compiler/bin/Debug/net8.0/Blazorise.Docs.Compiler.dll</BinDocsCompiler>
</PropertyGroup>

<!--Binary path for the code generator-->
<PropertyGroup>
<BinDocsCompiler>..\..\Documentation/Blazorise.Docs.Compiler/bin/Debug/net8.0/Blazorise.Docs.Compiler.dll</BinDocsCompiler>
</PropertyGroup>
<!--Project path for code generator-->
<PropertyGroup>
<ProjectDocsCompiler>dotnet run --configuration release --project "..\..\Documentation/Blazorise.Docs.Compiler/Blazorise.Docs.Compiler.csproj"</ProjectDocsCompiler>
</PropertyGroup>

<!--Project path for code generator-->
<PropertyGroup>
<ProjectDocsCompiler>dotnet run --configuration release --project "..\..\Documentation/Blazorise.Docs.Compiler/Blazorise.Docs.Compiler.csproj"</ProjectDocsCompiler>
</PropertyGroup>
<!--Execute the code generator-->
<Target Name="CompileDocs" BeforeTargets="BeforeBuild">
<!--Command-line for the code generator-->
<Message Text="Generating Docs and Tests" Importance="high" />
<Exec Command="dotnet &quot;$(BinDocsCompiler)&quot;" Condition="Exists('$(BinDocsCompiler)')" />
<Exec Command="$(ProjectDocsCompiler)" Condition="!Exists('$(BinDocsCompiler)')" />
</Target>

<!--Execute the code generator-->
<Target Name="CompileDocs" BeforeTargets="BeforeBuild">
<!--Command-line for the code generator-->
<Message Text="Generating Docs and Tests" Importance="high" />
<Exec Command="dotnet &quot;$(BinDocsCompiler)&quot;" Condition="Exists('$(BinDocsCompiler)')" />
<Exec Command="$(ProjectDocsCompiler)" Condition="!Exists('$(BinDocsCompiler)')" />
</Target>
<!--This file contains any ExampleCode that is new and needs including in the build -->
<Target Name="ReadFromFile" DependsOnTargets="CompileDocs">
<ItemGroup>
<NewFiles Include="NewFilesToBuild.txt" />
</ItemGroup>
<ReadLinesFromFile File="@(NewFiles)">
<Output TaskParameter="Lines" ItemName="NewExampleCodeToBuild" />
</ReadLinesFromFile>
</Target>

<!--This file contains any ExampleCode that is new and needs including in the build -->
<Target Name="ReadFromFile" DependsOnTargets="CompileDocs">
<ItemGroup>
<NewFiles Include="NewFilesToBuild.txt" />
</ItemGroup>
<ReadLinesFromFile File="@(NewFiles)">
<Output TaskParameter="Lines" ItemName="NewExampleCodeToBuild" />
</ReadLinesFromFile>
</Target>
<!--Update ExampleCode-->
<ItemGroup>
<EmbeddedResource Include="Pages\**\*.html" />
</ItemGroup>
<ItemGroup>
<Content Remove="bundleconfig.json" />
<Content Remove="compilerconfig.json" />
</ItemGroup>
<ItemGroup>
<None Include="bundleconfig.json" />
<None Include="compilerconfig.json" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Markdig" Version="0.30.4" />
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.*" />
<PackageReference Include="SendGrid" Version="9.28.1" />
</ItemGroup>

<!--Update ExampleCode-->
<ItemGroup>
<EmbeddedResource Include="Pages\**\*.html" />
</ItemGroup>
<ItemGroup>
<Content Remove="bundleconfig.json" />
<Content Remove="compilerconfig.json" />
</ItemGroup>
<ItemGroup>
<None Include="bundleconfig.json" />
<None Include="compilerconfig.json" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Markdig" Version="0.30.4" />
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.*" />
<PackageReference Include="SendGrid" Version="9.28.1" />
</ItemGroup>
<!--Is this a rebuild - Dont clean generated files as this breaks rebuild behaviour-->
<Target Name="ShouldCleanGeneratedFiles" BeforeTargets="BeforeRebuild">
<PropertyGroup>
<CleanGeneratedFiles>false</CleanGeneratedFiles>
</PropertyGroup>
</Target>

<!--Is this a rebuild - Dont clean generated files as this breaks rebuild behaviour-->
<Target Name="ShouldCleanGeneratedFiles" BeforeTargets="BeforeRebuild">
<PropertyGroup>
<CleanGeneratedFiles>false</CleanGeneratedFiles>
</PropertyGroup>
</Target>

<Target Name="CleanGeneratedFiles" BeforeTargets="Clean" Condition="'$(CleanGeneratedFiles)' != 'false'">
<ItemGroup>
<FilesToClean Include="./Pages/**/*ExampleCode.*" />
<FilesToClean Include="./NewFilesToBuild.txt" />
</ItemGroup>
<Delete Files="@(FilesToClean)" />
</Target>
<Target Name="CleanGeneratedFiles" BeforeTargets="Clean" Condition="'$(CleanGeneratedFiles)' != 'false'">
<ItemGroup>
<FilesToClean Include="./Pages/**/*ExampleCode.*" />
<FilesToClean Include="./NewFilesToBuild.txt" />
</ItemGroup>
<Delete Files="@(FilesToClean)" />
</Target>

</Project>
18 changes: 9 additions & 9 deletions Documentation/Blazorise.Docs/Components/HomeClientLogos.razor
Original file line number Diff line number Diff line change
@@ -1,47 +1,47 @@
<Row>
<Column TextAlignment="TextAlignment.Center">
<Anchor To="https://corporate.comcast.com/" Target="Target.Blank" Title="Comcast">
<Image Source="_content/Blazorise.Docs/assets/img/logos/users/comcast.svg" Text="Comcast" />
<Image Source="assets/img/logos/users/comcast.svg" Text="Comcast" />
</Anchor>
</Column>
<Column TextAlignment="TextAlignment.Center">
<Anchor To="https://abp.io/" Target="Target.Blank" Title="abp">
<Image Source="_content/Blazorise.Docs/assets/img/logos/users/abp.svg" Text="abp" />
<Image Source="assets/img/logos/users/abp.svg" Text="abp" />
</Anchor>
</Column>
<Column TextAlignment="TextAlignment.Center">
<Anchor To="https://www.ge.com/" Target="Target.Blank" Title="ge">
<Image Source="_content/Blazorise.Docs/assets/img/logos/users/ge.svg" Text="ge" />
<Image Source="assets/img/logos/users/ge.svg" Text="ge" />
</Anchor>
</Column>
<Column TextAlignment="TextAlignment.Center">
<Anchor To="https://www.techmahindra.com/" Target="Target.Blank" Title="Tech Mahindra">
<Image Source="_content/Blazorise.Docs/assets/img/logos/users/tech-mahindra.svg" Text="Tech Mahindra" />
<Image Source="assets/img/logos/users/tech-mahindra.svg" Text="Tech Mahindra" />
</Anchor>
</Column>
<Column TextAlignment="TextAlignment.Center">
<Anchor To="https://www.pebble.tv/" Target="Target.Blank" Title="pebble">
<Image Source="_content/Blazorise.Docs/assets/img/logos/users/pebble.svg" Text="pebble" />
<Image Source="assets/img/logos/users/pebble.svg" Text="pebble" />
</Anchor>
</Column>
<Column TextAlignment="TextAlignment.Center">
<Anchor To="https://www.telekom.com/en" Target="Target.Blank" Title="Deutsche Telekom">
<Image Source="_content/Blazorise.Docs/assets/img/logos/users/deutsche-telekom.svg" Text="Deutsche Telekom" />
<Image Source="assets/img/logos/users/deutsche-telekom.svg" Text="Deutsche Telekom" />
</Anchor>
</Column>
<Column TextAlignment="TextAlignment.Center">
<Anchor To="https://www.microsoft.com/" Target="Target.Blank" Title="microsoft">
<Image Source="_content/Blazorise.Docs/assets/img/logos/users/microsoft.svg" Text="microsoft" />
<Image Source="assets/img/logos/users/microsoft.svg" Text="microsoft" />
</Anchor>
</Column>
<Column TextAlignment="TextAlignment.Center">
<Anchor To="https://www.daimlertruck.com/en/" Target="Target.Blank" Title="daimler">
<Image Source="_content/Blazorise.Docs/assets/img/logos/users/daimler.svg" Text="daimler" />
<Image Source="assets/img/logos/users/daimler.svg" Text="daimler" />
</Anchor>
</Column>
<Column TextAlignment="TextAlignment.Center">
<Anchor To="https://www.airforce.com/" Target="Target.Blank" Title="US AirForce">
<Image Source="_content/Blazorise.Docs/assets/img/logos/users/us-airforce.svg" Text="US AirForce" />
<Image Source="assets/img/logos/users/us-airforce.svg" Text="US AirForce" />
</Anchor>
</Column>
</Row>
Loading
Loading