menus.d.ts 578 B

123456789101112131415161718192021222324252627282930313233343536
  1. interface IconItem {
  2. name?: string
  3. avatarId?: number | null
  4. avatarByDefault?: string
  5. }
  6. export const enum MENU_LINK_TYPE {
  7. INTERNAL = 1,
  8. V1 = 2,
  9. EXTERNAL = 3,
  10. }
  11. interface MenuItem {
  12. label: string
  13. icon?: IconItem
  14. to?: string
  15. type: MENU_LINK_TYPE
  16. active: boolean
  17. isAction: boolean
  18. avatar?: number
  19. }
  20. interface MenuGroup {
  21. label: string
  22. icon?: IconItem
  23. children?: MenuItems
  24. active: boolean
  25. }
  26. type MenuItems = Array<MenuItem | MenuGroup>
  27. interface MenuBuilder {
  28. build: () => MenuItem | MenuGroup | null
  29. }