diff --git a/common-features/icons.md b/common-features/icons.md
index 5f6c7a631d..0f024e305b 100644
--- a/common-features/icons.md
+++ b/common-features/icons.md
@@ -71,17 +71,26 @@ The `TelerikFontIcon` component can show a [built-in Telerik Blazor font icon](#
| `Flip` | `IconFlip` `enum`
(`None`) | The icon's flip direction, which allows to mirror (turn over) the image horizontally, vertically, or in both directions. |
| `Icon` | `FontIcon` `enum` | Any of the [built-in Telerik Blazor font icons](#icons-list). This parameter takes precedence over `IconClass`, if both are set. |
| `IconClass` | `string` | Custom CSS class for a custom third-party icon. Do not use together with the `Icon` parameter. |
-| `Size` | `string`
(`"md"`) | Any of the predefined icon sizes (from `"xs"` to `"xxxl"`). It is possible to set the parameter value to raw strings such as `"lg"`, `"md"` or `"sm"`. However, we recommend using the properties of the static `ThemeConstants.Icon.Size` class. |
-| `ThemeColor` | `string` | Any of the predefined icon colors. Use the static `ThemeConstants.Icon.ThemeColor` class properties. By default, the icon color will inherit the current CSS text color. |
+| `Size` | `string`
(`"md"`) | Any of the predefined icon sizes (from `"xs"` to `"xxxl"`). It is possible to set the parameter value to raw strings such as `"lg"`, `"md"` or `"sm"`. However, we recommend using the properties of the static `ThemeConstants.FontIcon.Size` class. |
+| `ThemeColor` | `string` | Any of the predefined icon colors. Use the static `ThemeConstants.FontIcon.ThemeColor` class properties. By default, the icon color will inherit the current CSS text color. |
>caption Using TelerikFontIcon
````CSHTML
-
+
+
+
+
+
````
### Set Custom Font Icon Size
@@ -100,10 +109,10 @@ Our font icons are designed on a 16px grid base. For better display quality, use
-
+
-
+
````
### Render Font Icons with HTML
@@ -133,18 +142,18 @@ The `TelerikSvgIcon` component can show a [built-in Telerik Blazor SVG icon](#ic
|---|---|---|
| `Flip` | `IconFlip` `enum`
(`None`) | The icon's flip direction, which allows to mirror (turn over) the image horizontally, vertically, or in both directions. |
| `Icon` | `ISvgIcon` | Assign a property of the `SvgIcon` static class to use any of the [built-in Telerik Blazor font icons](#icons-list). Alternatively, [implement your own custom SVG Icon class](#implement-custom-svg-icon-classes). |
-| `Size` | `string`
(`"md"`) | Any of the predefined icon sizes (from `"xs"` to `"xxxl"`). It is possible to set the parameter value to raw strings such as `"lg"`, `"md"` or `"sm"`. However, we recommend using the properties of the static `ThemeConstants.Icon.Size` class. |
+| `Size` | `string`
(`"md"`) | Any of the predefined icon sizes (from `"xs"` to `"xxxl"`). It is possible to set the parameter value to raw strings such as `"lg"`, `"md"` or `"sm"`. However, we recommend using the properties of the static `ThemeConstants.SvgIcon.Size` class. |
| `ChildContent` | `RenderFragment` | The HTML markup of a custom SVG icon. Do not use together with `Icon`. |
-| `ThemeColor` | `string` | Any of the predefined icon colors. Use the static `ThemeConstants.Icon.ThemeColor` class properties. |
+| `ThemeColor` | `string` | Any of the predefined icon colors. Use the static `ThemeConstants.SvgIcon.ThemeColor` class properties. |
>caption Using TelerikSvgIcon
````CSHTML
-
+
````
### Render Custom SVG Icons with HTML
diff --git a/components/button/icons.md b/components/button/icons.md
index 5fe60bfa1d..73e83eb609 100644
--- a/components/button/icons.md
+++ b/components/button/icons.md
@@ -12,22 +12,37 @@ position: 2
You can add a [Telerik Font or SVG icon]({%slug general-information/font-icons%}) to the Button to illustrate its purpose by using the `Icon` parameter.
+The `Icon` parameter type is `object` and it accepts:
+
+* a member of the `FontIcon` enum
+* a property of the static `SvgIcon` class
+* a `string` that is a CSS class for a custom icon
+
>caption How to use icons in Telerik Button
````CSHTML
Font Icon
+
SVG Icon
+
+Custom Icon
+
+
````
>tip If you don't add text to the button, the button will center the icon on all sides.
->note Images used as icons should generally be small enough to fit in a line of text - the button is an inline element and is not designed for large images. If you want to use big icon buttons, consider one of the following options:
+>note Images used as icons should generally be small enough to fit in a line of text. The button is an inline element and is not designed for large images. If you want to use big icon buttons, consider one of the following options:
>
-> * defining a `Class` on the button that provides `height` and `width`. The width and height can be set in `px` sufficient to accommodate the icon or to `auto`,
-> * or attaching an `@onclick` handler to an icon/`span`/`img` element instead of using a button,
-> * or adding your own HTML inside the button, something like: `
some text`
-
+> * Define a `Class` on the button that provides `height` and `width`. The width and height can be set in `px` sufficient to accommodate the icon or to `auto`,
+> * Attach an `@onclick` handler to an icon/`span`/`img` element instead of using a button,
+> * Adding your own HTML inside the button, something like: `
some text`
## See Also
- * [Button Overview]({%slug components/button/overview%})
+* [Button Overview]({%slug components/button/overview%})
diff --git a/components/drawer/icons.md b/components/drawer/icons.md
index 85c2107700..ae461018c4 100644
--- a/components/drawer/icons.md
+++ b/components/drawer/icons.md
@@ -12,51 +12,55 @@ position: 22
You can add a [Telerik Font or SVG icon]({%slug general-information/font-icons%}) to the Drawer item by assigning an `object` to the `IconField` parameter.
->caption How to use icons in Telerik Drawer
+If the icon property name in the Drawer model is `Icon`, there is no need to set the `IconField` parameter.
-````CSHTML
-@* This example shows how to add icons to the Drawer items *@
+>caption How to use icons in the Telerik Drawer
+````CSHTML
- Toggle drawer
+ Toggle drawer
Selected Item: @SelectedItem?.Text
+
+
@code {
- bool DrawerExpanded { get; set; } = true;
- TelerikDrawer DrawerRef { get; set; }
- DrawerItem SelectedItem { get; set; }
- IEnumerable Data { get; set; } = new List()
- {
- new DrawerItem { Text = "Current Location", TelerikIcon = FontIcon.Pin},
- new DrawerItem { Text = "Navigation", TelerikIcon = FontIcon.Globe},
- new DrawerItem { Text = "Favourite Locations", TelerikIcon = FontIcon.Star},
- };
+ private TelerikDrawer DrawerRef { get; set; }
+
+ private bool DrawerExpanded { get; set; } = true;
+
+ private DrawerItem SelectedItem { get; set; }
+
+ private IEnumerable Data { get; set; } = new List()
+ {
+ new DrawerItem { Text = "Current Location", Icon = FontIcon.Pin },
+ new DrawerItem { Text = "Navigation", Icon = FontIcon.Globe },
+ new DrawerItem { Text = "Favorites", Icon = "my-icon" },
+ };
public class DrawerItem
{
public string Text { get; set; }
- public FontIcon? TelerikIcon { get; set; }
+ public object Icon { get; set; }
}
}
````
->caption The result from the code snippet above
-
-
-
-
-
## See Also
- * [Drawer Overview]({%slug drawer-overview%})
+* [Drawer Overview]({%slug drawer-overview%})
diff --git a/components/drawer/images/drawer-icons.png b/components/drawer/images/drawer-icons.png
deleted file mode 100644
index 14ebe2e93d..0000000000
Binary files a/components/drawer/images/drawer-icons.png and /dev/null differ
diff --git a/components/grid/columns/command.md b/components/grid/columns/command.md
index e7d0ba681a..7e4e6f01d2 100644
--- a/components/grid/columns/command.md
+++ b/components/grid/columns/command.md
@@ -32,6 +32,7 @@ The section describes the available features and their use.
The `GridCommandButton` tag offers the following features:
* `Command` - the command that will be invoked. Can be one of the built-in commands (see below), or a custom command name.
+* `Icon` - the command button icon, which can be a font icon, an SVG icon or a custom icon. Use in the same way as the [Button component `Icon`]({%slug button-icons%}).
* `OnClick` - the event handler that the button will fire. If used on a built-in command, this handler will fire before the [corresponding CRUD event]({%slug components/grid/editing/overview%}). Cancelling it will prevent the built-in CRUD event from firing.
* `ShowInEdit` - a boolean property indicating whether the button is only visible while the user is editing/inserting data.
* `ChildContent` - the text the button will render. You can also place it between the command button's opening and closing tags.
diff --git a/components/menu/icons.md b/components/menu/icons.md
index 63a2528d5a..767ecae261 100644
--- a/components/menu/icons.md
+++ b/components/menu/icons.md
@@ -10,53 +10,57 @@ position: 15
# Menu Icons
-You can add a [Telerik Font or SVG icon]({%slug general-information/font-icons%}) to the Menu item to illustrate its purpose by using the `IconField` parameter.
+You can add a [Telerik Font or SVG icon]({%slug general-information/font-icons%}) to the Menu item to illustrate its purpose by using the `IconField` parameter. The Menu also supports custom icons.
->caption How to use icons in Telerik Menu
+If the icon property in the Menu model is called `Icon`, there is no need to set the `IconField` parameter.
+
+>caption How to use icons in the Telerik Menu
````CSHTML
+ IconField="@(nameof(MenuItem.Icon))">
+
+
@code {
- public List MenuData { get; set; }
+ public List