2026 Releases
This article lists the breaking or important changes in the 2026 releases of Telerik UI for ASP.NET Core.
Telerik UI for ASP.NET Core 2026 Q2
New Meridian Theme - Default Theme Moved to Maintenance
Starting with the 2026 Q2 release, a new theme called Meridian is introduced as the recommended default theme for all Telerik UI for ASP.NET Core products. The previous Default theme is moved to maintenance mode.
- The Meridian theme is now the default theme used across all demos, documentation, and templates.
- The Default theme will continue to be available but will receive only critical bug fixes. No new features or visual updates will be added.
- Customers can migrate to the Meridian theme on their own schedule.
- This constitutes a major version bump for Kendo Themes due to visual breaking changes.
Kendo UI Icons Package Version
The 2026 Q2 release ships with Kendo UI Icons version 4.9.2 in the source package and wrappers. However, there is also Icons version 5.0.0 available, which includes new icons and updates aligned with the Meridian theme. Icons v5.0.0 is currently in preview mode in the demos and will be officially included in the source packages in an upcoming release.
If you are referencing icons from the Kendo CDN or npm and want to stay aligned with the demos, you can use version 5.0.0. If you prefer to stay aligned with the distributed source, continue using version 4.9.2 until the next official update.
Dialog and Window - ThemeColor Option Removed
The ThemeColor configuration option has been entirely removed from the Dialog and Window components. The ThemeColor property and its associated DialogThemeColor / WindowThemeColor types are no longer available.
Before (2026 Q1 and earlier):
@(Html.Kendo().Dialog()
.Name("dialog")
.ThemeColor("primary")
)
@(Html.Kendo().Window()
.Name("window")
.ThemeColor("dark")
)After (2026 Q2 and later):
@(Html.Kendo().Dialog()
.Name("dialog")
)
@(Html.Kendo().Window()
.Name("window")
)Light and Dark Theme Colors Removed Globally
The Light and Dark values have been removed from the ThemeColor option across all components that previously supported them. This is a breaking change for consumers explicitly setting ThemeColor to Light or Dark.
Updated ThemeColor Value Sets Per Component
| Component | New Allowed ThemeColor Values |
|---|---|
| Button | Base, Primary, Secondary, Tertiary, Info, Success, Warning, Error, Inverse |
| FloatingActionButton | Base, Primary, Secondary, Tertiary |
| Icon / SVGIcon | Inherit, Primary, Secondary, Tertiary, Info, Success, Warning, Error, Inverse |
| Badge | Base, Primary, Secondary, Tertiary, Info, Success, Warning, Error |
| Loader | Base, Primary, Secondary, Tertiary |
| Avatar | Base, Primary, Secondary, Tertiary |
| AppBar | Base, Primary, Secondary, Tertiary, Inverse |
| BottomNavigation | Base, Primary, Secondary, Tertiary, Inverse |
Migration: Replace any usage of ThemeColor.Light or ThemeColor.Dark with the closest available value (for example, ThemeColor.Base or ThemeColor.Inverse).
Enum Type Changes
The following enum type changes have been made in the Telerik UI for ASP.NET Core wrappers. Components that previously used the generic ThemeColor enum now use component-specific enums with restricted value sets (removing Light and Dark). Similarly, the Button Size property now uses a dedicated ButtonSize enum.
| Component | Property | Previous Enum Type | New Enum Type | New Allowed Values |
|---|---|---|---|---|
| Avatar | ThemeColor | ThemeColor | AvatarThemeColor | Base, Primary, Secondary, Tertiary |
| Button | Size | ComponentSize | ButtonSize | XSmall, Small, Medium, Large |
| FloatingActionButton | ThemeColor | ThemeColor | FloatingActionButtonThemeColor | Base, Primary, Secondary, Tertiary |
| AppBar | ThemeColor | ThemeColor | AppBarThemeColor | Base, Primary, Secondary, Tertiary, Inverse |
| BottomNavigation | ThemeColor | ThemeColor | BottomNavigationThemeColor | Base, Primary, Secondary, Tertiary, Inverse |
Migration
Before (2026 Q1 and earlier):
@(Html.Kendo().Avatar()
.Name("avatar")
.ThemeColor(ThemeColor.Primary)
)
@(Html.Kendo().Button()
.Name("btn")
.Size(ComponentSize.Small)
)
After (2026 Q2 and later):
@(Html.Kendo().Avatar()
.Name("avatar")
.ThemeColor(AvatarThemeColor.Primary)
)
@(Html.Kendo().Button()
.Name("btn")
.Size(ButtonSize.Small)
)
New XS (Extra Small) Button Size
The Button component now supports an extra small size (XSmall). This size is intended for use in complex, multi-layered components such as close buttons in component headers.
@(Html.Kendo().Button()
.Name("btn")
.Content("Close")
.Size(ButtonSize.XSmall)
)Caret Icons Replaced with Chevron Icons
The caret-alt-down, caret-alt-up, caret-alt-left, and caret-alt-right icons have been replaced with chevron-down, chevron-up, chevron-left, and chevron-right respectively across all components. This includes the SplitButton default arrow icon.
If you have custom CSS or JavaScript targeting the old caret-alt-* icon class names, update them to the corresponding chevron-* names.
Scheduler and Gantt - View Selector Markup Changed
The toolbar view selector in the Scheduler and Gantt components is now rendered with a SegmentedControl instead of a ButtonGroup. Custom CSS or DOM queries that targeted the previous ButtonGroup markup must be updated.
The DateTimePicker also now uses a SegmentedControl for its date/time toggle.
LoaderContainer - Overlay Class Changed
The LoaderContainer now uses the standard k-overlay CSS class instead of the deprecated k-overlay-light variant. The k-overlay-{overlayColor} classes have been removed.
If you have custom CSS targeting k-overlay-light on the LoaderContainer, update it to target k-overlay.
PDFViewer - Loader Overlay Class Changed
The PDFViewer loader overlay now uses the standard k-overlay CSS class instead of k-overlay-light. Custom CSS targeting k-overlay-light on the PDFViewer loader will no longer apply.
Icon Component - New FillMode Property
The Icon and SVGIcon components now support a FillMode property with the following values: Solid, Outline, Duotone.
Telerik UI for ASP.NET Core 2026 Q1
Chat Suggestions Configuration Changes
Starting with the 2026 Q1 release, the Chat component has renamed the scrollable configuration options for suggested actions and suggestions to use a more descriptive layout mode approach.
Renamed Options
| Previous Option | New Option |
|---|---|
SuggestedActionsScrollable | SuggestedActionsLayoutMode |
SuggestionsScrollable | SuggestionsLayoutMode |
Value Changes
The boolean values have been replaced with the SuggestionsLayoutMode enum:
| Previous Value | New Value |
|---|---|
False/True | "Wrap/Scroll/ScrollButtons" |
Migration Examples
Before (2025 and earlier):
@(Html.Kendo().Chat()
.Name("chat")
.SuggestedActionsScrollable(false)
.SuggestionsScrollable(true)
)After (2026 Q1 and later):
@(Html.Kendo().Chat()
.Name("chat")
.SuggestedActionsLayoutMode(SuggestionsLayoutMode.Wrap)
.SuggestionsLayoutMode(SuggestionsLayoutMode.Scroll)
)Available Layout Modes
| Value | Description |
|---|---|
"Wrap" | Suggestions wrap to multiple lines within the available space |
"Scroll" | Suggestions are displayed in a horizontally scrollable container |
"ScrollButtons" | Suggestions are displayed in a horizontally scrollable container with scroll buttons on each side |
TreeView Enhanced Rendering (HTML and CSS)
Starting with the 2026 Q1 release, the TreeView adopts enhanced rendering that updates the generated HTML and the CSS hooks used for styling.
Key HTML Structure Changes
Wrapper class renamed
Before: Position-based wrapper classes were used:
k-treeview-topk-treeview-midk-treeview-bot
After: A single unified wrapper class is used:
k-treeview-item-content
If you have custom CSS or jQuery selectors, replace selectors that target the positional classes with .k-treeview-item-content.
CSS variable for indentation level
Each .k-treeview-item now renders a --kendo-treeview-level CSS custom property that the theme uses to calculate indentation via padding-inline-start.
Example:
<li class="k-treeview-item" style="--kendo-treeview-level: 1;">...</li>
<li class="k-treeview-item" style="--kendo-treeview-level: 2;">...</li>
State classes moved
Before: State classes (k-hover, k-focus, k-selected, k-disabled) were applied to the .k-treeview-leaf element.
After: State classes are applied to the .k-treeview-item-content wrapper.
Update any custom selectors accordingly, for example:
/* Before */
.k-treeview .k-treeview-leaf.k-selected {
/* ... */
}
/* After */
.k-treeview .k-treeview-item-content.k-selected {
/* ... */
}
TabStrip Rendering Changes (HTML and CSS)
Starting with the 2026 Q1 release, the TabStrip no longer renders the k-item class on tab items. Tab elements now use k-tabstrip-item as the primary class.
Key HTML Structure Changes
Tab item class removed
Before: Tab items rendered both classes:
k-itemk-tabstrip-item
After: Tab items render only:
k-tabstrip-item
If you have custom CSS or jQuery selectors targeting .k-item inside TabStrip, replace them with .k-tabstrip-item.
Example:
<!-- Before -->
<li class="k-item k-tabstrip-item k-active">Tab 1</li>
<!-- After -->
<li class="k-tabstrip-item k-active">Tab 1</li>
State selectors update
Before: State selectors often targeted .k-item.
After: State selectors should target .k-tabstrip-item.
Update any custom selectors accordingly, for example:
/* Before */
.k-tabstrip .k-item.k-active {
/* ... */
}
/* After */
.k-tabstrip .k-tabstrip-item.k-active {
/* ... */
}
Sortable integration selectors
If you use Sortable to reorder TabStrip tabs, update the Sortable filter selector from li.k-item to li.k-tabstrip-item.
// Before
filter: "li.k-item"
// After
filter: "li.k-tabstrip-item"
Appearance Defaults Removed
Starting with the 2026 Q1 release, Telerik UI for ASP.NET Core components no longer render default appearance CSS classes. Previously, components automatically added
size,rounded,fillMode, andthemeColorclasses to their HTML output. Instead, these properties now default tonull, allowing the theme's CSS to control the component styling.
What Changed
Previously, components had hardcoded defaults like:
Size = ComponentSize.MediumRounded = Rounded.MediumFillMode = ButtonFillMode.SolidThemeColor = ThemeColor.Base
Now, these properties default to null. When null, no CSS modifier classes (like k-button-md, k-rounded-md, k-button-solid) are added to the component markup. The theme's base CSS selectors control the default appearance.
Components previously rendered with explicit styling classes like:
<!-- Before -->
<button class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base">Click Me</button>
Now render with minimal base classes:
<!-- After -->
<button class="k-button">Click Me</button>
The visual appearance remains the same because Kendo Themes v13+ apply default styles to base classes.
API Changes
Noneenum value removed from appearance enums- Builder methods now accept nullable types for appearance properties
Removed Enum Values
The following None values have been removed from appearance enums:
| Enum | Removed Value |
|---|---|
ComponentSize | None |
FillMode | None |
ButtonFillMode | None |
ChipFillMode | None |
Migration for None Value Usage
// Before - using None to disable styling (NO LONGER VALID)
@(Html.Kendo().Button()
.Name("btn")
.Size(ComponentSize.None) // Compile error!
)
// After - omit the call entirely
@(Html.Kendo().Button()
.Name("btn")
)
Removed CSS Classes by Category
Size Classes (No Longer Rendered by Default)
| Class | Component Types |
|---|---|
k-button-sm | Buttons |
k-button-md | Buttons |
k-button-lg | Buttons |
k-input-sm | Input components |
k-input-md | Input components |
k-input-lg | Input components |
k-picker-sm | Picker components |
k-picker-md | Picker components |
k-picker-lg | Picker components |
k-checkbox-sm | CheckBox, TreeView |
k-checkbox-md | CheckBox, TreeView |
k-checkbox-lg | CheckBox |
k-chip-sm | Chip, ChipList |
k-chip-md | Chip, ChipList |
k-chip-lg | Chip |
k-badge-sm | Badge |
k-badge-md | Badge |
k-badge-lg | Badge |
k-avatar-sm | Avatar |
k-avatar-md | Avatar |
k-avatar-lg | Avatar |
k-loader-sm | Loader |
k-loader-md | Loader |
k-loader-lg | Loader |
Rounded Classes (No Longer Rendered by Default)
| Class | Description |
|---|---|
k-rounded-sm | Small border radius |
k-rounded-md | Medium border radius |
k-rounded-lg | Large border radius |
k-rounded-full | Full/pill border radius |
FillMode Classes (No Longer Rendered by Default)
| Class | Component Types |
|---|---|
k-button-solid | Buttons |
k-button-solid-base | Buttons with base theme color |
k-button-solid-primary | Buttons with primary theme color |
k-button-flat | Flat buttons |
k-button-flat-base | Flat buttons with base theme color |
k-button-flat-primary | Flat buttons with primary theme color |
k-button-outline | Outline buttons |
k-input-solid | Input components |
k-input-flat | Input components |
k-input-outline | Input components |
k-picker-solid | Picker components |
k-picker-flat | Picker components |
k-picker-outline | Picker components |
k-chip-solid | Chip |
k-chip-solid-base | Chip with base theme color |
k-chip-outline | Chip |
k-badge-solid | Badge |
k-badge-outline | Badge |
k-avatar-solid | Avatar |
k-avatar-outline | Avatar |
ThemeColor Classes (No Longer Rendered by Default)
| Class Pattern | Examples |
|---|---|
k-button-solid-{color} | k-button-solid-base, k-button-solid-primary, k-button-solid-secondary |
k-button-flat-{color} | k-button-flat-base, k-button-flat-primary |
k-chip-solid-{color} | k-chip-solid-base, k-chip-solid-primary |
k-badge-solid-{color} | k-badge-solid-primary, k-badge-solid-secondary |
Default Appearance Changes - Affected Components
The following components no longer render default appearance classes:
Input Components
| Component | fillMode | size | rounded | themeColor |
|---|---|---|---|---|
| AutoComplete | Removed | Removed | Removed | - |
| ComboBox | Removed | Removed | Removed | - |
| DateInput | Removed | Removed | Removed | - |
| DatePicker | Removed | Removed | Removed | - |
| DateRangePicker | Removed | Removed | Removed | - |
| DateTimePicker | Removed | Removed | Removed | - |
| DropDownList | Removed | Removed | Removed | - |
| DropDownTree | Removed | Removed | Removed | - |
| MaskedTextBox | Removed | Removed | Removed | - |
| MultiSelect | Removed | Removed | Removed | - |
| NumericTextBox | Removed | Removed | Removed | - |
| OTPInput | Removed | Removed | Removed | - |
| TextArea | Removed | Removed | Removed | - |
| TextBox | Removed | Removed | Removed | - |
| TimeDurationPicker | Removed | Removed | Removed | - |
| TimePicker | Removed | Removed | Removed | - |
| ColorPicker | Removed | Removed | Removed | - |
| ColorGradient | - | Removed | - | - |
| ColorPalette | - | Removed | - | - |
| Signature | Removed | Removed | Removed | - |
Button Components
| Component | fillMode | size | rounded | themeColor |
|---|---|---|---|---|
| Button | Removed | Removed | Removed | Removed |
| ButtonGroup | Removed | - | - | - |
| SplitButton | Removed | Removed | Removed | Removed |
| DropDownButton | Removed | Removed | Removed | Removed |
| FloatingActionButton | Removed | Removed | Removed | Removed |
The ButtonGroup's
Items.Badge.ThemeColorno longer render default appearance classes as well. It defaults toundefinedwhich enforces the theme to control the default color
Chip Components
| Component | fillMode | size | rounded | themeColor |
|---|---|---|---|---|
| Chip | Removed | Removed | Removed | Removed |
| ChipList | - | Removed | - | - |
Indicator Components
| Component | fillMode | size | rounded | themeColor |
|---|---|---|---|---|
| Avatar | Removed | Removed | Removed | Removed |
| Badge | Removed | Removed | Removed | Removed |
| Loader | - | Removed | - | Removed |
The default
themeColorof theBadgecomponent is nowprimary.
Navigation Components
| Component | fillMode | size | rounded | themeColor |
|---|---|---|---|---|
| BottomNavigation | Removed | - | - | Removed |
| Breadcrumb | - | Removed | - | - |
| TabStrip | - | Removed | - | - |
Selection Components
| Component | fillMode | size | rounded | themeColor |
|---|---|---|---|---|
| CheckBox | - | Removed | Removed | - |
| RadioButton | - | Removed | - | - |
| Switch | - | Removed | Removed | - |
Data Components
| Component | fillMode | size | rounded | themeColor |
|---|---|---|---|---|
| Grid | - | Removed | - | - |
| ListBox | - | Removed | - | - |
| Pager | - | Removed | - | - |
| TreeView | - | Removed | - | - |
Layout & Containers
| Component | fillMode | size | rounded | themeColor |
|---|---|---|---|---|
| AppBar | - | - | - | Removed |
| Dialog | - | - | - | Removed |
| Window | - | - | - | Removed |
| ToolBar | Removed | Removed | - | - |
| Form | - | Removed | - | - |
Notification
Starting with 2026 Q1 version when no
typeparameter is passed the theshow()method, the Notification will be displayed with default colors. Previously, the default value of thetypeproperty wasinfo. If you need to acheive the previous behavior you can use the approaches demonstrated below:
var notification = $("#notification").data("kendoNotification");
notification.show("Some text", "info");
//or
notification.info("Some text");
Icons
| Component | fillMode | size | rounded | themeColor |
|---|---|---|---|---|
| Icon | - | Removed | - | Removed |
| SVGIcon | - | Removed | - | Removed |
Migration Guide
For HTML Helper (MVC)
If you need explicit styling, set the options:
// Before (implicit defaults)
@(Html.Kendo().Button()
.Name("myButton")
.Content("Click Me")
)
// Rendered: <button class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base">
// After (explicit sizing)
@(Html.Kendo().Button()
.Name("myButton")
.Content("Click Me")
.Size(ComponentSize.Medium)
.Rounded(Rounded.Medium)
.FillMode(ButtonFillMode.Solid)
.ThemeColor(ThemeColor.Base)
)
// Rendered: <button class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base">
For Tag Helpers (Core)
<!-- Before (implicit defaults) -->
<kendo-button name="myButton">Click Me</kendo-button>
<!-- After (explicit sizing) -->
<kendo-button name="myButton" size="ComponentSize.Medium" rounded="Rounded.Medium" fill-mode="ButtonFillMode.Solid" theme-color="ThemeColor.Base"> Click Me </kendo-button>
Grid Component Changes
The Grid's internal elements (toolbar, pager, buttons) also no longer render default classes:
// Before
@(Html.Kendo().Grid<Product>()
.Name("grid")
// Size defaulted to Medium
)
// After - Grid Size is null by default
// Set explicitly if needed:
@(Html.Kendo().Grid<Product>()
.Name("grid")
.Size(ComponentSize.Medium)
)
Dialog Actions
// Before
.Actions(actions =>
{
actions.Add().Text("OK").FillMode(ButtonFillMode.None); // No longer valid
})
// After
.Actions(actions =>
{
actions.Add().Text("OK"); // Omit FillMode for default styling
})
Custom CSS Updates
If you have custom CSS targeting size classes:
/* Before - targeting medium buttons */
.k-button.k-button-md {
/* custom styles */
}
/* After - target base class (theme provides defaults) */
.k-button {
/* custom styles */
}
/* Or explicitly set size in code and target that class */
Theme Version Requirement
This change requires Kendo Themes v13.0.0 or later. Update your theme package references:
<!-- NuGet packages -->
<PackageReference Include="Telerik.UI.for.AspNet.Core" Version="2026.1.xxx" />
Or CDN references:
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/themes/13.0.0/default/default-main.css" />
Benefits
- Cleaner DOM - Components render fewer CSS classes
- Flexible Theming - Easier to customize default appearance via CSS
- Smaller Markup - Reduced HTML output size
- Centralized Defaults - Styling defaults managed in CSS, not server-side code
Virtual List Rendering Changes
Starting with the 2026 Q1 release, the Virtual List introduces changes to its HTML rendering.
| Aspect | Before (2025 and earlier) | After (2026 Q1 and later) |
|---|---|---|
| List element class | k-virtual-content k-list-ul | k-list-ul |
| Grouped data | All group labels and items in a single <ul> | Separate <ul> per group, each with its own group label |
Before:
<ul class="k-virtual-content k-list-ul">
<li class="k-list-item-group-label">Group A</li>
<li class="k-list-item">Item 1</li>
<li class="k-list-item">Item 2</li>
<li class="k-list-item-group-label">Group B</li>
<li class="k-list-item">Item 3</li>
</ul>
After:
<ul class="k-list-ul">
<li class="k-list-item-group-label">Group A</li>
<li class="k-list-item">Item 1</li>
<li class="k-list-item">Item 2</li>
</ul>
<ul class="k-list-ul">
<li class="k-list-item-group-label">Group B</li>
<li class="k-list-item">Item 3</li>
</ul>
If you have custom CSS or jQuery selectors targeting k-virtual-content, update them to use .k-list-ul.
MultiColumnComboBox Sticky Group Header Rendering Changes
Starting with the 2026 Q1 release, the MultiColumnComboBox component introduces a change to how the sticky group header is rendered when the data is grouped.
| Aspect | Before (2025 and earlier) | After (2026 Q1 and later) |
|---|---|---|
| CSS class | .k-list-group-sticky-header | .k-table-group-sticky-header |
| Element | <tr> inside <table> | <div> outside <table> |
Before:
<table class="k-table">
<tr class="k-list-group-sticky-header">
<td colspan="...">Group Name</td>
</tr>
<!-- table rows -->
</table>
After:
<div class="k-table-group-sticky-header">Group Name</div>
<table class="k-table">
<!-- table rows -->
</table>
If you have custom CSS or jQuery selectors targeting .k-list-group-sticky-header for the MultiColumnComboBox, update them to use .k-table-group-sticky-header:
/* Before */
.k-multicolumncombobox .k-list-group-sticky-header { /* ... */ }
/* After */
.k-multicolumncombobox .k-table-group-sticky-header { /* ... */ }
Diagram
For the fluent wrappers DashTypes were a string and are now enums.
HtmlHelpers
DiagramConnectionContentBorderSettingsBuilderDiagramConnectionDefaultsContentBorderSettingsBuilderDiagramConnectionDefaultsEndCapStrokeSettingsBuilderDiagramConnectionDefaultsStartCapStrokeSettingsBuilderDiagramConnectionEndCapStrokeSettingsBuilderDiagramConnectionStartCapStrokeSettingsBuilderDiagramEditableResizeHandlesHoverStrokeSettingsBuilderDiagramEditableResizeHandlesStrokeSettingsBuilderDiagramSelectableStrokeSettingsBuilderDiagramShapeConnectorDefaultsHoverStrokeSettingsBuilderDiagramShapeConnectorDefaultsStrokeSettingsBuilderDiagramShapeConnectorHoverStrokeSettingsBuilderDiagramShapeConnectorStrokeSettingsBuilderDiagramShapeDefaultsConnectorDefaultsHoverStrokeSettingsBuilderDiagramShapeDefaultsConnectorDefaultsStrokeSettingsBuilderDiagramShapeDefaultsConnectorHoverStrokeSettingsBuilderDiagramShapeDefaultsConnectorStrokeSettingsBuilderDiagramShapeDefaultsStrokeSettingsBuilderDiagramShapeStrokeSettingsBuilder
TagHelpers
DiagramConnectionContentBorderSettingsTagHelperDiagramConnectionDefaultsContentBorderSettingsTagHelperDiagramConnectionDefaultsEndCapStrokeSettingsTagHelperDiagramConnectionDefaultsStartCapStrokeSettingsTagHelperDiagramConnectionEndCapStrokeSettingsTagHelperDiagramConnectionStartCapStrokeSettingsTagHelperDiagramEditableResizeHandlesHoverStrokeSettingsTagHelperDiagramEditableResizeHandlesStrokeSettingsTagHelperDiagramSelectableStrokeSettingsTagHelperDiagramShapeConnectorDefaultsHoverStrokeSettingsTagHelperDiagramShapeConnectorDefaultsStrokeSettingsTagHelperDiagramShapeConnectorHoverStrokeSettingsTagHelperDiagramShapeConnectorStrokeSettingsTagHelperDiagramShapeDefaultsConnectorDefaultsHoverStrokeSettingsTagHelperDiagramShapeDefaultsConnectorDefaultsStrokeSettingsTagHelperDiagramShapeDefaultsConnectorHoverStrokeSettingsTagHelperDiagramShapeDefaultsConnectorStrokeSettingsTagHelperDiagramShapeDefaultsStrokeSettingsTagHelperDiagramShapeStrokeSettingsTagHelper