# ngb-context-menu

> A simple context menu library, based on ng-bootstrap library

Latest version **0.0.3** (published 2022-04-14) · MIT license · 0 weekly downloads

## Install

```sh
npm install ngb-context-menu
pnpm add ngb-context-menu
yarn add ngb-context-menu
bun add ngb-context-menu
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.3 |
| Published | 2022-04-14 |
| First published | 2022-03-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 66.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | ngb-tools |
| Maintainers | manu-bulboaca |
| Keywords | ngb-context-menu, bootstrap-context-menu, right-click-menu, context, menu, context-menu, context menu, right-click, bootstrap, angular, ngb, ng-bootstrap-menu, ngb-context, ngb-right-click-menu |

## Links

- npm: https://www.npmjs.com/package/ngb-context-menu
- Repository: https://github.com/ngb-tools/ngb-context-menu
- Homepage: https://github.com/ngb-tools/ngb-context-menu#readme
- Issues: https://github.com/ngb-tools/ngb-context-menu/issues
- npm.io page: https://npm.io/package/ngb-context-menu

## Dependencies (1)

- [tslib](https://npm.io/package/tslib.md) ^2.3.0

## Alternatives

- [@sveltejs/kit](https://npm.io/package/@sveltejs/kit.md) — 2.2M weekly downloads
- [@atlaskit/theme](https://npm.io/package/@atlaskit/theme.md) — 402.0K weekly downloads
- [@tangle-network/brand](https://npm.io/package/@tangle-network/brand.md) — 10.0K weekly downloads
- [seneca](https://npm.io/package/seneca.md) — 7.4K weekly downloads
- [@bsb/base](https://npm.io/package/@bsb/base.md) — 7.2K weekly downloads

## Recent versions

- 0.0.3 (latest) — 2022-04-14
- 0.0.2 — 2022-03-23
- 0.0.1 — 2022-03-23

## README

# NgbContextMenu

NgbContextMenu is a small Angular library based on the NG-Bootstrap Library that will allow you to easily render a context menu using a directive and providing the options with different properties. We also provide an example of using the bootstrap library to render a totally customizable context menu.

## Install Guide

### Preconditions
In order to use the NgbContextMenu your project needs the [NG-Bootstrap](https://ng-bootstrap.github.io/)

### Installation Steps
1. Install the NgbContextMenu from npmJS. Latest stable version is vXX.XX.XX
2. Import the NgbContextMenu module in the module you want to use the directive

## Usage

Inside the HTML Template use the `ngbContextMenu` directive and provide the `menuItems`

    <div  ngbContextMenu 
          [menuItems]="contextMenuItems" 
          (selectedMenuItem)="onSelectedContextMenuItem($event)"
    </div

The `menuItems` attribute should contain a list of items using this model:

    interface NgbContextMenuItem {
      id: number;
      label?: string;
      icon?: string;        // in case you want an icon to be rendered in front of the label 
      iconTitle?: string;   // tooltip for your icon
      disabled?: boolean;   // mark the item as disabled
      isDivider?: boolean;  // render a line divider between items
    }

When one item (dividers excluded) is clicked the `selectedMenuItem` Event is emitted. The Event will emit the `id` of the clicked item

## Customization

The styles can be customized by overwriting the CSS Classes as follows:

The Menu Container: `.ngb-context-menu {}`

The Divider: `.ngb-context-menu-divider {}`

The Items: `.ngb-context-menu-item {}`


## Play with a real example

If you want to play with some context menus you can clone the repository and run the demo project using the command:

    $ ng serve demo

Or [StackBlitz](https://stackblitz.com/edit/angular-ivy-vmu9qg)

---
_Source: https://npm.io/package/ngb-context-menu · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
