Download the PHP package jacquestrdx123/vue-sidebar-menu without Composer

On this page you can find all versions of the php package jacquestrdx123/vue-sidebar-menu. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package vue-sidebar-menu

Vue Sidebar Menu

A Laravel Composer package providing a database-driven sidebar menu system with Vue 3 components and Inertia.js integration.

Features

Requirements

Installation

  1. Install the package via Composer:

  2. Install Heroicons (required dependency):

  3. Run the install command:

This will:

  1. Run migrations:

  2. (Optional) Remove Material Icons from your CSS if no longer needed:

Remove the Material Icons import from your resources/css/app.css:

Configuration

The config file is published to config/vue-sidebar-menu.php. You can customize:

Usage

1. Share Menu Data via Inertia Middleware

Update your app/Http/Middleware/HandleInertiaRequests.php:

2. Include SidebarMenu Component in Your Layout

In your authenticated layout file (e.g., resources/js/Layouts/Authenticated.vue):

3. Set Up Menu Groups and Items

You can create menu groups and items via database seeders or directly in the database:

4. (Optional) Add Favorite Menu Items Support

Add the relationship to your User model:

Menu Item Structure

MenuGroup Fields

MenuItem Fields

Icon Support

The package uses Heroicons by default, but includes backward compatibility with Material Design icons through the iconMapper utility.

Supported Icon Formats

  1. Heroicons (recommended):

    • Simple name: home, user, settings
    • Full name: heroicon-o-home, heroicon-o-user
  2. Material Design Icons (backward compatible):
    • Material icon name: home, dashboard, settings
    • MDI format: mdi-home, mdi-dashboard

The icon mapper automatically converts Material Design icon names to their Heroicon equivalents. Common mappings include:

See resources/js/utils/iconMapper.js for the complete mapping list.

Permission System

The package supports permission-based menu item visibility. It works with:

Permission names are automatically generated from route names:

Customization

Logo

Pass the logo URL and alt text as props:

Styling

The component uses Tailwind CSS classes. You can customize colors by modifying the classes in the published Vue components.

Icon Customization

The icon mapper utility (resources/js/utils/iconMapper.js) supports both Material Design and Heroicon formats. You can:

  1. Use Heroicons directly (recommended):

  2. Continue using Material Design icons (backward compatible):

  3. Extend the icon mapper with custom mappings in your application's resources/js/utils/iconMapper.js file.

License

MIT

Key Features

  1. Database-Driven Menu: Menu structure is stored in database tables instead of hardcoded arrays
  2. Permission-Based Filtering: Menu items are filtered based on user permissions
  3. Favorite Menu Items: Users can favorite menu items for quick access
  4. Search Functionality: Built-in search to filter menu items
  5. Collapsible Sidebar: Sidebar can be collapsed/expanded with state persistence in localStorage
  6. Active Route Highlighting: Current route is automatically highlighted in the menu
  7. Nested Menu Support: Supports multi-level nested menu items
  8. Heroicons Integration: All icons use Heroicons (with Material Design backward compatibility)
  9. Responsive Design: Automatically collapses on mobile devices

Migration from Material Icons

If you're migrating from a Material Icons-based menu system:

  1. The icon mapper automatically handles conversion of Material Design icon names to Heroicons
  2. Your existing menu items in the database will continue to work
  3. No need to update icon names in the database - the package handles the conversion automatically
  4. You can optionally remove Material Icons from your CSS after migration

Troubleshooting

Icons Not Displaying

Sidebar Not Showing

Menu Items Not Filtering by Permissions

Support

For issues and questions, please open an issue on GitHub.


All versions of vue-sidebar-menu with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
illuminate/support Version ^9.0|^10.0|^11.0|^12.0
illuminate/database Version ^9.0|^10.0|^11.0|^12.0
illuminate/console Version ^9.0|^10.0|^11.0|^12.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package jacquestrdx123/vue-sidebar-menu contains the following files

Loading the files please wait ...