@@ -11,27 +11,22 @@ import Icon from "./Icon.js";
1111import ListItemTemplate from "./ListItemTemplate.js" ;
1212import type { ListItemHooks } from "./ListItemTemplate.js" ;
1313
14- export type MenuItemHooks = {
14+ export type MenuItemHooks = ListItemHooks & {
1515 menuItemTextContent : ( this : any ) => JSX . Element ;
1616}
1717
18- const predefinedMenuItemHooks : MenuItemHooks = {
19- menuItemTextContent,
20- } ;
21-
22- const predefinedHooks : Partial < ListItemHooks > = {
23- listItemContent,
18+ const predefinedHooks : Partial < MenuItemHooks > = {
2419 iconBegin,
20+ menuItemTextContent,
2521} ;
2622
27- export default function MenuItemTemplate ( this : MenuItem , hooks ?: Partial < ListItemHooks > , menuItemHooks ?: Partial < MenuItemHooks > ) {
23+ export default function MenuItemTemplate ( this : MenuItem , hooks ?: Partial < MenuItemHooks > ) {
2824 const currentHooks = { ...predefinedHooks , ...hooks } ;
29- const currentMenuItemHooks = { ...predefinedMenuItemHooks , ...menuItemHooks } ;
3025
3126 if ( ! hooks ?. listItemContent ) {
3227 currentHooks . listItemContent = function ( this : MenuItem ) {
3328 return ( < >
34- { currentMenuItemHooks . menuItemTextContent . call ( this ) }
29+ { currentHooks . menuItemTextContent ! . call ( this ) }
3530
3631 { rightContent . call ( this ) }
3732 { checkmarkContent . call ( this ) }
@@ -46,15 +41,6 @@ export default function MenuItemTemplate(this: MenuItem, hooks?: Partial<ListIte
4641 </ > ;
4742}
4843
49- function listItemContent ( this : MenuItem ) {
50- return ( < >
51- { menuItemTextContent . call ( this ) }
52-
53- { rightContent . call ( this ) }
54- { checkmarkContent . call ( this ) }
55- </ > ) ;
56- }
57-
5844function menuItemTextContent ( this : MenuItem ) {
5945 return < > { this . text && < div class = "ui5-menu-item-text" > { this . text } </ div > } </ > ;
6046}
0 commit comments