@progress/kendo-angular-menu
Version:
Kendo UI Angular Menu component
66 lines (65 loc) • 2.6 kB
TypeScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 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](slug:items_menu#toc-showing-text)).
*/
text?: string;
/**
* Specifies a URL which is rendered as a `href` attribute on the item link
* ([see example](slug:items_menu#toc-rendering-urls)).
*/
url?: string;
/**
* Specifies the name of the [font icon](slug:icons#icons-list) that will
* be rendered for the item ([see example](slug:items_menu#toc-displaying-font-icons)).
*/
icon?: string;
/**
* Defines an [`SVGIcon`](slug:api_icons_svgicon) that will be
* rendered for the item using a [`KendoSVGIcon`](slug:api_icons_svgiconcomponent) component ([see example](slug:items_menu#toc-displaying-svg-icons)).
*/
svgIcon?: SVGIcon;
/**
* Specifies if the item is disabled ([see example](slug:items_menu#toc-disabling-items)).
*/
disabled?: boolean;
/**
* Specifies the CSS classes that will be rendered on the item element ([see example](slug:items_menu#toc-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](slug:items_menu#toc-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<any>;
/**
* Specifies a template for the item content.
*/
contentTemplate?: TemplateRef<any>;
/**
* Specifies the children of the item ([see example]({% slug databinding_menu %})).
*/
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;
}