1.0.4 • Published 13 days ago

@digital-realty/ix-menu v1.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
13 days ago

\

This webcomponent follows the open-wc recommendation.

Installation

npm i @digital-realty/ix-menu

Usage

<script type="module">
  import '@digital-realty/ix-menu/ix-menu.js';
  import '@digital-realty/ix-menu/ix-menu-item.js';
  import '@digital-realty/ix-menu/ix-sub-menu.js';
</script>
<span style="position: relative">
  <button id="anchor">Menu anchor</button>
  <ix-menu id="menu" anchor="anchor" has-overflow>
    <ix-menu-item>
      <div slot="headline">Apple</div>
    </ix-menu-item>
    <ix-menu-item>
      <div slot="headline">Banana</div>
    </ix-menu-item>
    <ix-sub-menu 
      menu-corner="end-end"
      anchor-corner="end-start">
      <ix-menu-item slot="item">
        <div slot="headline">Fruits A</div>
      </ix-menu-item>
      <!-- Submenu must be slotted into sub-menu's menu slot -->
      <ix-menu slot="menu">
        <ix-menu-item>
          <div slot="headline">Apricot</div>
        </ix-menu-item>
        <ix-menu-item>
          <div slot="headline">Avocado</div>
        </ix-menu-item>
      </ix-menu>
    </ix-sub-menu>
  </ix-menu>
</span>
<script>
    const anchorEl = document.body.querySelector('#anchor');
    const menuEl = document.body.querySelector('#menu');
    anchorEl.addEventListener('click', () => { menuEl.open = !menuEl.open; });
</script>

With menu anchor wrapper

<script type="module">
  import '@digital-realty/ix-menu/ix-menu-anchor.js';
  import '@digital-realty/ix-menu/ix-menu.js';
  import '@digital-realty/ix-menu/ix-menu-item.js';
  import '@digital-realty/ix-menu/ix-sub-menu.js';
</script>
<ix-menu-anchor>
  <button slot="anchor">The menu item</button>
  <ix-menu-item>
    <div slot="headline">Apple</div>
  </ix-menu-item>
  <ix-menu-item>
    <div slot="headline">Banana</div>
  </ix-menu-item>
  <ix-sub-menu 
    menu-corner="end-end"
    anchor-corner="end-start">
    <ix-menu-item slot="item">
      <div slot="headline">Fruits A</div>
    </ix-menu-item>
    <!-- Submenu must be slotted into sub-menu's menu slot -->
    <ix-menu slot="menu">
      <ix-menu-item>
        <div slot="headline">Apricot</div>
      </ix-menu-item>
      <ix-menu-item>
        <div slot="headline">Avocado</div>
      </ix-menu-item>
    </ix-menu>
  </ix-sub-menu>
</ix-menu-anchor> 

In React

<script type="module">
  import { IxMenu } from '@digital-realty/ix-menu/IxMenu';
  import { IxMenuIem } from '@digital-realty/ix-menu/IxMenuItem';
  import { IxSubMenu } from '@digital-realty/ix-menu/IxSubMenu';
<script>

Demo and Documentation

Full documentation and demo are available at DLR Component Gallery.

1.0.4

13 days ago

1.0.3

2 months ago

1.0.2

2 months ago

1.0.1

4 months ago

0.0.4

5 months ago

0.0.3

6 months ago

0.0.2

7 months ago

0.0.1

7 months ago