/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { TemplateRef } from '@angular/core'; import { SVGIcon } from '@progress/kendo-angular-icons'; /** * Represents an interface for the Menu items. */ export interface MenuItem { /** * Specifies the item text ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#showing-text)). */ text?: string; /** * Specifies a URL which is rendered as a `href` attribute on the item link * ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#rendering-urls)). */ url?: string; /** * Specifies the name of the [font icon](https://www.telerik.com/kendo-angular-ui/components/styling/icons#icons-list) that will * be rendered for the item ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#displaying-font-icons)). */ icon?: string; /** * Defines an [`SVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgicon) that will be * rendered for the item using a [`KendoSVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgiconcomponent) component ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#displaying-svg-icons)). */ svgIcon?: SVGIcon; /** * Specifies if the item is disabled ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#disabling-items)). */ disabled?: boolean; /** * Specifies the CSS classes that will be rendered on the item element ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#adding-styles-and-classes)). * Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']). */ cssClass?: any; /** * Specifies the CSS styles that will be rendered on the item element ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#adding-styles-and-classes)). * Supports the type of values that are supported by [`ngStyle`](link:site.data.urls.angular['ngstyleapi']). */ cssStyle?: any; /** * Specifies a template for the item. */ template?: TemplateRef; /** * Specifies a template for the item content. */ contentTemplate?: TemplateRef; /** * Specifies the children of the item ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/data-binding)). */ items?: any[]; /** * Represents the additional data that is associated with the Menu item. */ data?: any; /** * Specifies if this is a separator item. * If set to true only the `cssClass` and `cssStyle` fields are rendered. */ separator?: boolean; }