Menus

April 21, 2026 · View on GitHub

License Stable Downloads Vue JavaScript SCSS npm Issues Merge Requests

Description

Menus provides the administration pages and reusable menu/sidebar components used to render and organize Enso navigation.

Installation

Install the package:

yarn add @enso-ui/menus

The package is usually consumed from the full enso-ui workspace inside an Enso application.

Features

  • registers the /system/menus index, create, and edit routes
  • exports menu and sidebar components in both Bulma and core variants
  • ships organizer utilities and the register.js hook used to wire menu state into the app shell
  • pairs backend-driven menu records with sidebar rendering and drag-and-drop organization

Usage

import systemRoutes from '@enso-ui/menus/src/bulma/routes/system.js';
import Menus from '@enso-ui/menus/src/bulma/components/menu/Menus.vue';
import registerMenus from '@enso-ui/menus/src/bulma/register.js';

API

Page modules

Common imports:

  • pages/menus/Index.vue
  • pages/menus/Create.vue
  • pages/menus/Edit.vue

Bulma and core variants are shipped for:

  • Menus
  • MenuItem
  • MenuOrganizer
  • SidebarState
  • Sidebar (core)

Utilities

  • src/plugins/utils.js exports hasActiveChild and organize.
  • src/bulma/register.js registers the menu helpers inside the host app.

Routes

/system/menus

  • system.menus.index
  • system.menus.create
  • system.menus.edit

Companion Backend Package

Depends On

Contributions

are welcome. Pull requests are great, but issues are good too.

Thank you to all the people who already contributed to Enso!

License

MIT