An open API service indexing awesome lists of open source software.

https://github.com/gero1992/side-menu

A Web UI navigation implemented with LitElement
https://github.com/gero1992/side-menu

drawer-navigation javascript lit-element litelement navigation

Last synced: 3 months ago
JSON representation

A Web UI navigation implemented with LitElement

Awesome Lists containing this project

README

          

[![npm version](https://badgen.net/npm/v/@maksu/side-menu)](https://www.npmjs.com/package/@maksu/side-menu)
[![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://www.webcomponents.org/element/@maksu/side-menu)
[![Published on Vaadin Directory](https://img.shields.io/badge/Vaadin%20Directory-published-00b4f0.svg)](https://vaadin.com/directory/component/gero1992side-menu)

# side-menu

Side-menu is a LitElement Web Component providing application navigation functionality withing the UI.
It can be used for hierarchical or flat navigation.

[Live demo](https://gero1992.github.io/side-menu/)

##### Supported features:
1. Compact and normal modes
1. Adding icons to the elements
1. Multi level navigation

![Example of side-menu](https://github.com/gero1992/side-menu/blob/master/example.png)

## Installation
Install 'side-menu' web component:
```sh
npm i @maksu/side-menu --save
```
After that you can import in an html file:
```html


import '@maksu/side-menu/side-menu.js'
import '@maksu/side-menu/side-menu-item.js'

```

or in another LitElement:
```js
import {LitElement, html} from "lit-element";

import '@maksu/side-menu/side-menu.js';
import '@maksu/side-menu/side-menu-item.js';

class ExampleElement extends LitElement {
static get template() {
return html`




`;
}
}

customElements.define('example-element', ExampleElement);
```

## Examples

#### Simple
```html



```

#### Icon
```html









```

#### Multi-level
```html













```

#### Set item selected:
You can set an item to be selected by adding a **`selected`** attribute to it
```html

```

#### Expand nested items:
When you have a multi level menu, you can expand the child items by adding **`expanded`** attribute to the parent:
```html



```

## Running the demo locally
1. Fork the `side-menu` repository and clone it.
1. Run `npm install` to install the dependencies.
1. Run `npm start` and the browser will automatically open the component demo.