Skip to content

958831: Update Ug for SEO hotfix #6079

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

Open
wants to merge 114 commits into
base: hotfix/hotfix-v29.2.4
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
871b308
UG Changes for New Themes
Kesavaraman123 May 6, 2025
ec9ad49
UG Changes
Kesavaraman123 May 6, 2025
286d48d
Merge branch 'development' of https://github.com/syncfusion-content/b…
Kesavaraman123 May 8, 2025
e399e66
957498: Implemented the custom Service.
ArunKumar-SF3979 May 12, 2025
7032785
Merge branch 'development' of https://github.com/syncfusion-content/b…
Kesavaraman123 May 12, 2025
d46d9d2
953352: Updated documentation for limitations of unsafe-inline CSP tag
SubathraKaliamoorthy May 12, 2025
ee113f2
Merge branch 'development' into BLAZ-953352-CSPInline
SubathraKaliamoorthy May 12, 2025
801d10b
953352: Update content-security-policy.md
SubathraKaliamoorthy May 12, 2025
785c3ef
955829: prepare performance documentation
Karthigaiselvi-SF2856 May 13, 2025
4d66bd5
Merge branch 'development' of https://github.com/syncfusion-content/b…
Kesavaraman123 May 15, 2025
f3bec4a
957498: Implemented the custom Service.
ArunKumar-SF3979 May 15, 2025
c00327c
Merge pull request #5953 from syncfusion-content/EXT-201337
kalirajanganeshan May 15, 2025
d23fda8
957498: Implemented the custom Service.
ArunKumar-SF3979 May 15, 2025
da35e47
957498: Implemented the custom Service.
ArunKumar-SF3979 May 15, 2025
0bf30b9
Documentation - Resolved build issue in blazor platform
Gayathri4135 May 15, 2025
6e050a1
Merge pull request #5978 from syncfusion-content/blazor-correction-dev
farveensulthana May 15, 2025
4e8aed4
Merge pull request #5983 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild May 16, 2025
c8a8095
853075: Updated docs related to showcase and single nuget
Athiswaran-SF3980 May 16, 2025
04e6d15
853075: Updated docs related to showcase and single nuget
Athiswaran-SF3980 May 16, 2025
7fa9af8
853075: Updated docs related to showcase and single nuget
Athiswaran-SF3980 May 16, 2025
212018a
Merge pull request #5998 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild May 17, 2025
dcaf488
Merge pull request #5988 from syncfusion-content/853075-update-docs
kmuthukumarmkm May 19, 2025
452ff33
Merge pull request #6017 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild May 20, 2025
41259a1
Merge pull request #6027 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild May 20, 2025
57aad17
Merge pull request #6033 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild May 22, 2025
5c266b3
Merge pull request #6041 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild May 27, 2025
bf135f5
955829: update AOT documentation content
Karthigaiselvi-SF2856 May 27, 2025
550290f
955829: update changes
Karthigaiselvi-SF2856 May 27, 2025
2fed691
Merge branch 'development' into BLAZ-955829-UG-D
Karthigaiselvi-SF2856 May 28, 2025
ecdbdc4
Merge pull request #6048 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild May 28, 2025
a4231ea
Blazor UG Rewamp
Kesavaraman123 May 29, 2025
125daf1
953352: Updated documentation for limitations of unsafe-inline CSP tag
SubathraKaliamoorthy May 29, 2025
ceaeca2
Merge branch 'development' into BLAZ-953352-CSPInline
SubathraKaliamoorthy May 29, 2025
bc0ed5b
953352: Update content-security-policy.md
kmuthukumarmkm May 29, 2025
7e052d6
953352: Update content-security-policy.md
kmuthukumarmkm May 29, 2025
382f58d
Merge pull request #5961 from syncfusion-content/BLAZ-953352-CSPInline
kmuthukumarmkm May 29, 2025
85ab3f3
955829: Update UG content
Karthigaiselvi-SF2856 May 29, 2025
0b8f655
955829: Update documentation changes
Karthigaiselvi-SF2856 May 29, 2025
edec252
955829: update changes
Karthigaiselvi-SF2856 May 29, 2025
e00544b
955829: update changes
Karthigaiselvi-SF2856 May 29, 2025
ce59244
955829: update changes
Karthigaiselvi-SF2856 May 29, 2025
0c1cd68
955829: update changes
Karthigaiselvi-SF2856 May 29, 2025
553e934
955829: update changes
Karthigaiselvi-SF2856 May 29, 2025
666c41f
Merge pull request #6044 from syncfusion-content/BLAZ-955829-UG-D
kmuthukumarmkm May 29, 2025
db2fb36
960692: Add the documentation for the redaction feature
Hemaprasanth-Hari May 29, 2025
bf5e968
Merge branch 'development' into ES-960692-Redaction
Hemaprasanth-Hari May 29, 2025
e53618c
Merge pull request #6051 from syncfusion-content/ES-960692-Redaction
KameshRajendran May 29, 2025
e4883b7
960692: Need to change the redaction annotation.
Hemaprasanth-Hari May 29, 2025
4d6e3f1
Merge branch 'development' into ES-960692-Redaction-new
Hemaprasanth-Hari May 29, 2025
8fe76af
Merge pull request #6052 from syncfusion-content/ES-960692-Redaction-new
KameshRajendran May 29, 2025
9633692
Merge pull request #6054 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild May 29, 2025
736efec
Merge pull request #6056 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild May 30, 2025
95c9110
Merge branch 'development' of https://github.com/syncfusion-content/b…
Kesavaraman123 May 30, 2025
0aa8cd8
960692: Change the class name razor to cshtml
Hemaprasanth-Hari May 30, 2025
562a9c6
960692: Change in the data grid also
Hemaprasanth-Hari May 30, 2025
af1797b
Merge pull request #6060 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild May 30, 2025
7b149f3
Merge pull request #6061 from syncfusion-content/ES-960692-razor
KameshRajendran May 30, 2025
ad22004
Merge branch 'development' of https://github.com/syncfusion-content/b…
Kesavaraman123 May 30, 2025
3b8b55e
Merge pull request #6057 from syncfusion-content/EXT-202444
kalirajanganeshan May 30, 2025
5e05464
958590: Add UG documentation on Min and Max Zoom feature
Hemaprasanth-Hari May 30, 2025
344d176
Merge branch 'development' into ES-958590-MaxMinZoom
Hemaprasanth-Hari May 30, 2025
3b31d0a
Merge branch 'development' into 957498-Custom-Service
kmuthukumarmkm May 30, 2025
3ccba10
957498: Implemented the custom Service.
ArunKumar-SF3979 May 30, 2025
ad2a742
Merge branch '957498-Custom-Service' of https://github.com/syncfusion…
ArunKumar-SF3979 May 30, 2025
e5f663c
957498: Implemented the custom Service.
ArunKumar-SF3979 Jun 1, 2025
fdc9031
957498: Implemented the custom Service.
ArunKumar-SF3979 Jun 1, 2025
49ab273
Merge pull request #5959 from syncfusion-content/957498-Custom-Service
kmuthukumarmkm Jun 2, 2025
7ffb16b
958831: Update Ug for SEO hotfix
RamyaSubramaniSF4537 Jun 2, 2025
a3b2795
958831: Update Ug for SEO hotfix
RamyaSubramaniSF4537 Jun 2, 2025
d005e10
960692: Change the review changes for the redaction documentation
Hemaprasanth-Hari Jun 2, 2025
bbf1579
Merge pull request #6080 from syncfusion-content/ES-960692-Redaction-…
KameshRajendran Jun 2, 2025
10e2ce1
958831: Update Ug for SEO hotfix
RamyaSubramaniSF4537 Jun 3, 2025
f633861
958590: Review Changes.
Hemaprasanth-Hari Jun 3, 2025
ed4f83a
Merge branch 'development' into ES-958590-MaxMinZoom
Hemaprasanth-Hari Jun 3, 2025
98e174a
958590: Update the code
Hemaprasanth-Hari Jun 3, 2025
c076b2c
Merge branch 'ES-958590-MaxMinZoom' of https://github.com/syncfusion-…
Hemaprasanth-Hari Jun 3, 2025
69fb8ee
958590: Update the PR
Hemaprasanth-Hari Jun 3, 2025
4c54bb9
958590: Resolve the Ci issue.
Hemaprasanth-Hari Jun 3, 2025
cfb169c
955829: Resolve blazor doc navigation issue
Karthigaiselvi-SF2856 Jun 3, 2025
c78dff4
958831: Update Ug for SEO hotfix
RamyaSubramaniSF4537 Jun 3, 2025
61f4ca6
955829: Resolve front matter issue
Karthigaiselvi-SF2856 Jun 3, 2025
525de2f
Merge branch 'hotfix/hotfix-v29.2.4' into ES-958831-UgHotfix
RamyaSubramaniSF4537 Jun 3, 2025
34e2977
955829: Resolve front matter issue
Karthigaiselvi-SF2856 Jun 3, 2025
9c9d624
Merge pull request #6064 from syncfusion-content/ES-958590-MaxMinZoom
GokulprasathVenkatachalam Jun 3, 2025
028a86c
Merge branch 'development' into BLAZ-955829-UG-Dev
Karthigaiselvi-SF2856 Jun 3, 2025
9f5bef6
955829: Update blazor-toc.html
Karthigaiselvi-SF2856 Jun 3, 2025
e33f22a
Merge pull request #6084 from syncfusion-content/BLAZ-955829-UG-Dev
kmuthukumarmkm Jun 3, 2025
bf3483b
Merge remote-tracking branch 'remotes/origin/hotfix/hotfix-v29.2.4' i…
DeepakRajSundar Jun 4, 2025
42e41fa
958831: Update Ug for SEO hotfix
RamyaSubramaniSF4537 Jun 5, 2025
4d912f2
Merge pull request #6094 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild Jun 5, 2025
01b819f
Merge pull request #6096 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild Jun 7, 2025
39e1c04
960692: Review changes on the redaction documentation
Hemaprasanth-Hari Jun 9, 2025
0894b54
Merge branch 'development' into ES-960692-RedactionDoc
Hemaprasanth-Hari Jun 9, 2025
b9b7188
960692: Update the Navigation links
Hemaprasanth-Hari Jun 9, 2025
39a3c1c
Merge branch 'ES-960692-RedactionDoc' of https://github.com/syncfusio…
Hemaprasanth-Hari Jun 9, 2025
ecf8d68
960692: Update the PR
Hemaprasanth-Hari Jun 9, 2025
b5ee37a
960692: Resolve the CI issues
Hemaprasanth-Hari Jun 9, 2025
d76375f
Merge pull request #6099 from syncfusion-content/ES-960692-RedactionDoc
KameshRajendran Jun 9, 2025
e830c7b
955829: Address Review correction
Karthigaiselvi-SF2856 Jun 11, 2025
e0bbb3c
Merge pull request #6102 from Syncfusion-Content/hotfix/hotfix-v29.2.4
SyncfusionBuild Jun 11, 2025
9d2c7bb
955829: Address Review concerns
Karthigaiselvi-SF2856 Jun 11, 2025
6384bc1
955829: Address review concerns
Karthigaiselvi-SF2856 Jun 11, 2025
681af6b
955829: Address Review concerns
Karthigaiselvi-SF2856 Jun 11, 2025
10ca943
955829: address review concerns
Karthigaiselvi-SF2856 Jun 11, 2025
b0c8bf8
955829: Address review concerns
Karthigaiselvi-SF2856 Jun 11, 2025
cb005f0
955829: Address review concerns
Karthigaiselvi-SF2856 Jun 11, 2025
8debe23
Merge branch 'development' into BLAZ-955829-Dev
Karthigaiselvi-SF2856 Jun 11, 2025
e254eca
Merge pull request #6103 from syncfusion-content/BLAZ-955829-Dev
kmuthukumarmkm Jun 11, 2025
26ec4bd
955829: Update review concerns
Karthigaiselvi-SF2856 Jun 12, 2025
f706d2b
937492: Remove net6 and net7 reference in UG
Athiswaran-SF3980 Jun 12, 2025
f1a4598
955829: Resolve numbered list issue
Karthigaiselvi-SF2856 Jun 12, 2025
969230c
Merge pull request #6108 from syncfusion-content/BLAZ-955829-d
kmuthukumarmkm Jun 12, 2025
8c6b8b8
Merge pull request #6109 from syncfusion-content/937492-UpdateUG
kmuthukumarmkm Jun 12, 2025
88c2615
Merge branch 'development' into ES-958831-UgHotfix
RamyaSubramaniSF4537 Jun 13, 2025
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
13 changes: 13 additions & 0 deletions blazor-toc.html
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,16 @@
<li>
<a href="/blazor/common/state-persistance">State Persistence</a>
</li>
<li>AOT Compilation
<ul>
<li>
<a href="/blazor/common/aot-compilation/optimize-performance-blazor-wasm">Optimize Blazor WASM Performance</a>
</li>
<li>
<a href="/blazor/common/aot-compilation/reduce-size-of-blazor-wasm">Reduce Size of WASM</a>
</li>
</ul>
</li>
<li>
<a href="/blazor/common/animation">Animation</a>
</li>
Expand Down Expand Up @@ -3718,6 +3728,7 @@
<li><a href="/blazor/pdfviewer-2/annotation/measurement-annotation">Measurement Annotations</a></li>
<li><a href="/blazor/pdfviewer-2/annotation/free-text-annotation">Free Text Annotations</a></li>
<li><a href="/blazor/pdfviewer-2/annotation/ink-annotation">Ink Annotation</a></li>
<li><a href="/blazor/pdfviewer-2/annotation/redaction-annotation">Redaction Annotations</a></li>
<li><a href="/blazor/pdfviewer-2/annotation/comments">Comments</a></li>
<li><a href="/blazor/pdfviewer-2/annotation/import-export-annotation">Import and Export Annotations</a></li>
<li><a href="/blazor/pdfviewer-2/annotation/annotations-in-mobile-view">Annotations in Mobile View</a></li>
Expand Down Expand Up @@ -4323,6 +4334,7 @@
</li>
<li><a href="/blazor/smart-paste/annotation">Annotation</a></li>
<li><a href="/blazor/smart-paste/customization">Style and Appearance</a></li>
<li><a href="/blazor/smart-paste/custom-inference-backend">Custom AI Service</a></li>
</ul>
</li>
<li>Smart TextArea
Expand All @@ -4337,6 +4349,7 @@
</li>
<li><a href="/blazor/smart-textarea/customization">Customize Suggestions</a></li>
<li><a href="/blazor/smart-textarea/features">Inherited Features</a></li>
<li><a href="/blazor/smart-textarea/custom-inference-backend">Custom AI Service</a></li>
</ul>
</li>
<li>Smith Chart
Expand Down
107 changes: 107 additions & 0 deletions blazor/common/aot-compilation/optimize-performance-blazor-wasm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
---
layout: post
title: Optimize Performance in Blazor WASM using AOT Compilation - Syncfusion
description: Check out the documentation for Optimize Performance using AOT Compilation in Blazor WebAssembly in Blazor
platform: Blazor
component: Common
documentation: ug
---

# Optimize Performance in Blazor WebAssembly using AOT Compilation

This article explains how to improve the performance of **Blazor WebAssembly (WASM)** applications using **Ahead-of-Time (AOT) compilation**, specifically for applications using **Syncfusion Blazor components**.

## AOT Compilation Overview

Blazor WebAssembly applications run entirely in the browser via WebAssembly. By default, the app’s .NET assemblies are downloaded and executed using a **Just-In-Time (JIT)** interpreter. However, enabling **AOT compilation** ahead of time converts the .NET Intermediate Language (IL) into native WebAssembly at build time, resulting in significant performance gains.

## Enable AOT Compilation

Follow the steps below to configure AOT for your Blazor WASM project.

### Step 1: Target .NET 8+

Ensure your project targets .NET 8 or later:

```xml
<TargetFramework>net8.0</TargetFramework>
```

### Step 2: Enable AOT in your project file

Add the following to your `.csproj` file:

```xml
<PropertyGroup>
<RunAOTCompilation>true</RunAOTCompilation>
</PropertyGroup>
```

Then publish the project using:

{% tabs %}
{% highlight c# tabtitle="Blazor publish App" %}

dotnet publish -c Release

{% endhighlight %}
{% endtabs %}

The output will be located in:

{% tabs %}
{% highlight c# tabtitle="Blazor publish App Location" %}

bin/Release/net8.0/publish/wwwroot/

{% endhighlight %}
{% endtabs %}

> AOT improves performance but increases WASM size (~1.5–2×). Use Brotli compression and proper caching to minimize impact.

---

## Size vs Performance Tradeoff
The following table compares performance and size metrics for Blazor WebAssembly with and without AOT, using a Syncfusion Grid with paging enabled.

| Metric | Without AOT | With AOT |
|----------------------------|----------------------|----------------------|
| Initial Load Time | ~3.90 seconds | ~3.04 seconds |
| On Page Refresh | ~71 ms | ~61 ms |
| Bundle Size (Brotli) | ~114 MB | ~192 MB |
| Memory Usage | Slightly lower | Slightly higher |

> [AOT compilation](https://learn.microsoft.com/en-us/aspnet/core/blazor/webassembly-build-tools-and-aot?view=aspnetcore-9.0#ahead-of-time-aot-compilation) increases the application size but significantly improves load time, interactivity and overall runtime performance in Blazor WebAssembly applications.

---

## Limitations

- **Longer Build Time:** AOT compilation is slower compared to standard builds.
- **Increased Bundle Size:** Final WebAssembly size is larger.
- **Higher Memory Usage:** While AOT improves performance, it may result in slightly higher memory usage at runtime due to native code execution.
- **Reduced Flexibility:** Dynamic features (e.g., reflection) may require additional handling.
- **More Complex Debugging:** Source map support is limited.
- **Slower Iterations:** Any code change needs full rebuild, affecting dev productivity.

---

## Considerations

- **Better Performance:** Native WebAssembly improves execution speed and UI responsiveness.
- **Enhanced Security:** Native code is harder to reverse-engineer than Intermediate Language code.
- **Cross-Platform Consistency:** Consistent behavior across browsers and devices.

---

## Specific Recommendations

To further reduce published output size, [enable linker and trimming](https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/trimming-options#enable-trimming) options in your `.csproj`:

```xml
<PublishTrimmed>true</PublishTrimmed>
<InvariantGlobalization>true</InvariantGlobalization>
<BlazorWebAssemblyEnableLinking>true</BlazorWebAssemblyEnableLinking>
```

> **InvariantGlobalization** reduces globalization data. Only use this if your app doesn't rely on specific culture or regional formats.
125 changes: 125 additions & 0 deletions blazor/common/aot-compilation/reduce-size-of-blazor-wasm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
---
layout: post
title: Reduce Size of Blazor WebAssembly Application - Syncfusion
description: Check out the documentation for reduce size of blazor webassembly application in blazor using various techniques
platform: Blazor
component: Common
documentation: ug
---

# Reduce Size of Blazor WebAssembly Application

This article explains how to reduce the size of **Blazor WebAssembly (WASM)** applications. Although [Ahead-of-Time (AOT)](https://learn.microsoft.com/en-us/aspnet/core/blazor/webassembly-build-tools-and-aot?view=aspnetcore-9.0#ahead-of-time-aot-compilation) compilation improves performance, it also increases the app size. To help reduce this, you can enable code trimming options in our projects. Trimming automatically removes unused code from the final output, which helps lower the bundle size without affecting functionality. This is especially helpful when using large projects.

## Configure the Linker for ASP.NET Core Blazor

Blazor WebAssembly uses [Intermediate Language (IL) linking](https://learn.microsoft.com/en-us/aspnet/core/blazor/webassembly-build-tools-and-aot?view=aspnetcore-9.0#trim-net-il-after-ahead-of-time-aot-compilation) to trim unused code from the final output during build. This process is **only enabled in Release builds** and is **disabled in Debug configuration** by default. To take full advantage of trimming and reduce the size of the published application, it is recommended to **build your app in Release mode** before deployment.

> Always publish your Blazor WebAssembly app using the `Release` configuration to enable trimming and optimize performance.

### Disable Intermediate Language Linking (Optional)

To manually disable Intermediate Language linking, add the following MSBuild property in your `.csproj` file:

```xml
<PropertyGroup>
<BlazorWebAssemblyEnableLinking>false</BlazorWebAssemblyEnableLinking>
</PropertyGroup>
```
## Enable trimming

**PublishTrimmed** property enables code trimming for self-contained publishing.It automatically disables features that aren’t compatible with trimming and provides warnings about trimming conflicts during build.

To [enable trimming](https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/trimming-options#enable-trimming), add the following to your `.csproj` file:

```xml
<PropertyGroup>
<PublishTrimmed>true</PublishTrimmed>
</PropertyGroup>
```

## Trim mode

For all assemblies in a Blazor application, trimming is enabled by default from the.NET 8 target framework. Trim warnings may cause problems for applications that have previously used `PublishTrimmed=true` and `TrimMode=partial`. However, if your application compiles without any trim warnings, this default behavior shouldn't interfere with functionality or cause issues. For more information, refer to the [trim configuration](https://learn.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/configure-trimmer?view=aspnetcore-9.0) documentation to achieve this.

### To Resolve trim warnings

Partial trimming is less aggressive and may be safer for applications that use reflection. To ensure smooth builds, resolve all trim warnings in our application, make the below changes in our `.csproj` to resolve the trim warnings

```xml
<TrimMode>partial</TrimMode>
```

## Enable Link Trimming

To control **Intermediate Language (IL)** trimming on a per-assembly basis by supplying an XML configuration file. This approach allows you to explicitly preserve assemblies, types, or members that may be trimmed, even if they are not directly referenced in your application code.

To [enable Intermediate Language trimming](https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/prepare-libraries-for-trimming#enable-project-specific-trimming) in a Syncfusion Blazor application, update the project file as shown below. This example demonstrates how to safely configure trimming using the Grid paging feature.

#### How to Enable Intermediate Language Trimming Safely for Syncfusion Blazor Grid

1. Modify your project file (.csproj) to include trimmable assemblies and descriptors:
```xml
<ItemGroup>
<TrimmableAssembly Include="Syncfusion.Blazor" />
<TrimmerRootDescriptor Include="SyncfusionRoots.xml" />
<BlazorLinkerDescriptor Include="LinkerConfig.xml" />
</ItemGroup>
```
2. Create the SyncfusionRoots.xml file in your project root with content like:

```xml
<linker>
<!-- Preserve methods and types if needed -->
<assembly fullname="Syncfusion.Blazor.Buttons" />
<assembly fullname="Syncfusion.Blazor.Core" />
<assembly fullname="Syncfusion.Blazor.Calendars" />
<assembly fullname="Syncfusion.Blazor.Data" />
<assembly fullname="Syncfusion.Blazor.DropDowns" />
<assembly fullname="Syncfusion.Blazor.Inputs" />
<assembly fullname="Syncfusion.Blazor.Navigations" />
<assembly fullname="Syncfusion.Blazor.Spinner" />
<assembly fullname="Syncfusion.Blazor.Grids" >
<type fullname="Syncfusion.Blazor.Grids.GridColumn" />
<type fullname="Syncfusion.Blazor.Grids.GridFilterSettings" />
<type fullname="Syncfusion.Blazor.Grids.SortColumn" />
<type fullname="Syncfusion.Blazor.Grids.GridSortSettings" />
<type fullname="Syncfusion.Blazor.Grids.GridSelectionSettings" />
<type fullname="Syncfusion.Blazor.Grids.GridEditSettings" />
<type fullname="Syncfusion.Blazor.Grids.GridTextWrapSettings" />
<type fullname="Syncfusion.Blazor.Grids.GroupingEventArgs" />
<type fullname="Syncfusion.Blazor.Grids.GroupedEventArgs" />
<type fullname="Syncfusion.Blazor.Grids.GridSearchSettings" />
<type fullname="Syncfusion.Blazor.Grids.GridRowDropSettings" />
</assembly>
<assembly fullname="Syncfusion.Blazor.Data">
<type fullname="Syncfusion.Blazor.Data.ColumnFilter" />
<type fullname="Syncfusion.Blazor.Data.FilterBehavior" />
<type fullname="Syncfusion.Blazor.Data.DataUtil" />
<type fullname="Syncfusion.Blazor.Data.GraphQLAdaptor" />
<type fullname="Syncfusion.Blazor.Data.GraphQLAdaptorOptions" />
<type fullname="Syncfusion.Blazor.Data.GraphQLMutation" />
<type fullname="Syncfusion.Blazor.Data.QueryableOperation" />
<type fullname="Syncfusion.Blazor.Data.SortDescriptionIndex" />
<type fullname="Syncfusion.Blazor.Data.SortedColumn" />
<type fullname="Syncfusion.Blazor.Data.ValueConvert" />
<type fullname="Syncfusion.Blazor.Data.WhereFilter" />
</assembly>
</linker>
```
3. Prevent Trimming of .NET Core Runtime Types. If your app uses reflection, LINQ expressions, or dynamic operations, consider including a LinkerConfig.xml to preserve critical system libraries. It is completely optional.

```xml
<ItemGroup>
<BlazorLinkerDescriptor Include="LinkerConfig.xml" />
</ItemGroup>
```

### Final Evaluation

To evaluate application size, a Blazor WebAssembly test application was configured with Syncfusion components, specifically featuring the Blazor Grid with paging enabled.

| AOT Status | With Trim | Without Trim |
|-----------------------|----------------------|----------------------|
| Disable | 23 MB | 26 MB |
| Enable | 55 MB | 59 MB |
36 changes: 2 additions & 34 deletions blazor/common/content-security-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ When enabling strict Content Security Policy (CSP), some browser features are di
To use Syncfusion<sup style="font-size:70%">&reg;</sup> blazor components with strict CSP mode, the following directives must be included in the CSP meta tag:

* `font-src data:` - This directive allows for the use of `base64` encoded font icons.
* `style-src 'self' unsafe-inline` - This directive permits the use of inline styles, allowing components to apply parameters such as Width, Height, positioning, etc. Additionally, certain [components](#components-utilizing-inline-style-for-functionality) depend on inline styling to render interactive behaviors and complex layouts effectively.
* `style-src 'self' unsafe-inline` - This directive permits the use of inline styles, allowing components to apply parameters such as Width, Height, positioning, etc. Additionally, certain components depend on inline styling to render dynamic behaviors and responsive UI design.
* `connect-src 'self' https: wss:` - This directive enables web sockets.
* `script-src 'self' unsafe-eval` - This directive allows for the use of the `new()` and `eval()` functions. Used in animation enabled Syncfusion<sup style="font-size:70%">&reg;</sup> components.

Expand Down Expand Up @@ -72,38 +72,6 @@ if you are referencing script and style references from CDN, then add CDN domain
{% endhighlight %}
{% endtabs %}

## Components Utilizing Inline Style for Functionality

Some Syncfusion components use inline styles to achieve responsive layouts, precise positioning, dynamic sizing, and visual behaviors essential to their functionality. The table below lists components that depend on inline styles, along with the properties or features that require them.

| Component | Properties/Functionalities Requiring Inline Styles |
|--------------------------|---------------------------------------------------------------------------------------------------------------------|
| 3D Charts, TreeMap, Charts, ProgressBar, Circular Gauge, HeatMap Chart, LinaerGauge, Maps, Bullet Chart, ImageEditor, RangeSlider, Sankey, SmithChart, SparklineChart, Stock Chart | Appearance customization, layout, and rendering.|
| Accordion, Tabs, Toolbar, Kanban, Carousel, Toast, Skeleton, Splitter | Height and Width.|
| DatePicker, DateTime Picker, DateRange Picker, In-place Editor, Input Mask, ListBox, MultiSelect Dropdown, Numeric TextBox, Query Builder, TextArea, TextBox, TimePicker | Width|
| Dashboard Layout | Panel height, gridline styles.|
| Sidebar | Width and transform in normal and docker mode.|
| Stepper | Width and transform.|
| Dialog | Z-index, height, and width.|
| AutoComplete | Width, PopupHeight, and PopupWidth.|
| Pivot Table | Grouping bar layout, conditional formatting dialog, height and width of pivot chart and pager, cell positioning.|
| Rich Text Editor | Height, width, font styling, toolbar styling.|
| Gantt Chart | Taskbar Dimensions, Chart Row Layout, Timeline and Header Layout, Label Containers and Connectors, Progress Bars and Segments, Baseline and Connector Styling, Virtualization Elements.|
| Context Menu, Menu Bar | Menu popup visibility.|
| Scheduler | Agenda view, resource headers, appointment styling, tooltip—positioning and colors.|
| Dropdown List | Width, PopupHeight, PopupWidth|
| Mention | PopupHeight and popup visibility.|
| MultiColumn ComboBox | Width, PopupHeight, PopupWidth, Z-Index|
| Progress Button | Spinner theme CSS|
| Rating | Rating fill value.|
| Spinner | Z-index and styling from spinner CSS theme|
| ColorPicker | Color|
| ComboBox | Width, PopupHeight, and PopupWidth.|
| DataForm | Width, ColumnSpacing.|
| SpeedDial | Speed dial animation and layout styles|
| Ribbon | filemenu and helpTemplate width for ribbon tab. |


## See also

* [Content Security Policy for ASP.NET Core Blazor](https://learn.microsoft.com/en-us/aspnet/core/blazor/security/content-security-policy?view=aspnetcore-7.0)
* [Content Security Policy for ASP.NET Core Blazor](https://learn.microsoft.com/en-us/aspnet/core/blazor/security/content-security-policy?view=aspnetcore-9.0)
Loading