@ctrlmaniac/vanilla-sidebar
TypeScript icon, indicating that this package has built-in type declarations

1.3.7 • Public • Published

vanilla-sidebar

vanilla-sidebar is a simple sidebar or side nav that aims to have to dependencies. In fact it is written in plain vanilla javascript!

Commitizen friendly lerna code style: prettier

Install

vanilla-sidebar is available as a npm package

// with npm
npm install @ctrlmaniac/vanilla-sidebar

// with yarn
yarn add @ctrlmaniac/vanilla-sidebar

Demo

You can play with vanilla-sidebar's options and features in this codepen.

Usage

Follow these steps

1. Prepare your template

In order to make vanilla-sidebar work you will need to add at least two html elements in your template:

  • an app bar
  • the sidebar

The first element you will need is an app bar. An app bar, or a toolbar, is a bar positioned fixed at the top of your template. It must include a button or a simple element that will trigger the opening and closing of the sidebar:

<div class="appbar">
  <div class="menu-icon" id="toggle-sidebar"></div>
</div>
<!-- appbar -->

<!-- body content -->

<!-- sidebar -->
<div class="sidebar" id="main-sidebar"></div>

2. Include and configure vanilla-sidebar

<div class="appbar">
  <div class="menu-icon" id="toggle-sidebar"></div>
</div>
<!-- appbar -->

<!-- body content -->

<!-- sidebar -->
<div class="sidebar" id="main-sidebar">
  <a href="#" class="quit-sidebar">Click me</a>
</div>
<script src="/path-to/vanilla-sidebar.js"></script>

<!-- customize vanilla-sidebar -->
<script>
  var sidebar = new VanillaSidebar({
    selector: "#main-sidebar",
    triggerer: "#toggle-sidebar",
    quitter: ".quit-sidebar",
  });
</script>

Options

selector: string; // The sidebar selector
triggerer: string; // The element that will trigger the opening and closing event (ex: a menu button)
quitter: string; // Elements (preferably a class) inside the sidebar that once clicked will trigger the closing event
mask: boolean; // Whether to show the mask or not
align: "right" | "left"; // The align of the sidebar
top: string; // The top offset of the sidebar
width: string; // The width of the sidebar
gap: string; // The safe gap between the sidebar and the window when the sidebar is opened
opened: boolean; // Whether the sidebar is initialized opened or closed
easing: string; // The animation of the opening and closing event
zIndex: number;

Package Sidebar

Install

npm i @ctrlmaniac/vanilla-sidebar

Weekly Downloads

15

Version

1.3.7

License

MIT

Unpacked Size

13.7 kB

Total Files

6

Last publish

Collaborators

  • ctrlmaniac