Menu
A menu is a small overlay that displays content on top of another element.
- Back
- Forward
- Reload
- Save As
-  Share   - Send via Email
- Send to Device
- Share to Twitter
 
- Help
---
---
<div x-cloak x-data x-menu>  <button x-menu:trigger>Browser <i class="i-lucide-chevron-down w-4 h-4 ml-1"></i></button>  <template x-teleport="body">    <div x-menu:positioner>      <div x-menu:content>        <ul>          <li x-menu:item="{ value: 'back' }">Back</li>          <li x-menu:item="{ value: 'forward' }">Forward</li>          <li x-menu:item="{ value: 'reload' }">Reload</li>          <li x-menu:item="{ value: 'save-as' }">Save As</li>          <li x-menu x-menu:trigger-item>            <span>Share</span>            <i class="i-lucide-chevron-right w-4 h-4 ml-auto"></i>            <template x-teleport="body">              <div x-menu:positioner>                <div x-menu:content>                  <ul>                    <li x-menu:item="{ value: 'send-via-email' }">Send via Email</li>                    <li x-menu:item="{ value: 'send-to-device' }">Send to Device</li>                    <li x-menu:item="{ value: 'share-to-twitter' }">Share to Twitter</li>                  </ul>                </div>              </div>            </template>          </li>          <li x-menu:item="{ value: 'print' }">Print</li>          <li x-menu:item="{ value: 'help' }">Help</li>        </ul>      </div>    </div>  </template></div>
<style>  [data-part="trigger"] {    @apply inline-flex justify-center items-center gap-2 px-2.5 py-1 min-h-9 rounded border text-sm font-medium bg-white text-zinc-700 hover:bg-zinc-100 border-zinc-300/60 cursor-pointer;  }
  [data-part="content"] {    @apply relative min-w-40 bg-white border border-zinc-300/60 rounded-md shadow-sm outline-zinc-500/60;  }
  [data-part="content"] > ul {    @apply p-1.5 flex flex-col;  }
  [data-part="item"],  [data-part="trigger-item"] {    @apply list-none inline-flex items-center p-1.5 text-sm font-medium rounded-md select-none cursor-pointer text-zinc-700;  }
  [data-part="item"][data-highlighted],  [data-part="trigger-item"][data-highlighted] {    @apply bg-gray-50;  }
  [data-part="trigger-item"][data-state="open"] {    @apply bg-gray-50;  }
  @keyframes enter {    from {      opacity: 0;      transform: scale(0.95) translateY(-10px);    }    to {      opacity: 1;      transform: scale(1) translateY(0);    }  }
  @keyframes exit {    from {      opacity: 1;      transform: scale(1) translateY(0);    }    to {      opacity: 0;      transform: scale(0.95) translateY(-10px);    }  }
  [data-part="content"][data-state="open"] {    animation: enter 0.2s ease-out;  }
  [data-part="content"][data-state="closed"] {    animation: exit 0.2s ease-out;  }</style>