A horizontal menu bar with dropdowns, keyboard shortcuts, checkboxes, and submenus — common in desktop applications.
A horizontal bar of menu triggers. Click to open, hover to switch between menus while one is open.
<div class="sui-menubar">
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">File</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item">New File</button>
<button type="button" class="sui-menubar-item">Open</button>
<button type="button" class="sui-menubar-item">Save</button>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item">Exit</button>
</div>
</div>
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">Edit</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item">Undo</button>
<button type="button" class="sui-menubar-item">Redo</button>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item">Cut</button>
<button type="button" class="sui-menubar-item">Copy</button>
<button type="button" class="sui-menubar-item">Paste</button>
</div>
</div>
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">View</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item">Zoom In</button>
<button type="button" class="sui-menubar-item">Zoom Out</button>
<button type="button" class="sui-menubar-item">Reset Zoom</button>
</div>
</div>
</div>Add sui-menubar-shortcut to display keyboard shortcuts next to items.
<div class="sui-menubar">
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">File</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item">New Tab <span class="sui-menubar-shortcut">⌘T</span></button>
<button type="button" class="sui-menubar-item">New Window <span class="sui-menubar-shortcut">⌘N</span></button>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item">Save <span class="sui-menubar-shortcut">⌘S</span></button>
<button type="button" class="sui-menubar-item">Save As <span class="sui-menubar-shortcut">⌘⇧S</span></button>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item">Print <span class="sui-menubar-shortcut">⌘P</span></button>
</div>
</div>
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">Edit</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item">Undo <span class="sui-menubar-shortcut">⌘Z</span></button>
<button type="button" class="sui-menubar-item">Redo <span class="sui-menubar-shortcut">⌘⇧Z</span></button>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item">Find <span class="sui-menubar-shortcut">⌘F</span></button>
<button type="button" class="sui-menubar-item">Replace <span class="sui-menubar-shortcut">⌘H</span></button>
</div>
</div>
</div>Use sui-menubar-check for check/radio indicators and sui-menubar-label for group labels.
<div class="sui-menubar">
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">View</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item"><span class="sui-menubar-check">✓</span> Show Toolbar</button>
<button type="button" class="sui-menubar-item"><span class="sui-menubar-check">✓</span> Show Sidebar</button>
<button type="button" class="sui-menubar-item"><span class="sui-menubar-check"></span> Show Minimap</button>
<div class="sui-menubar-separator"></div>
<div class="sui-menubar-label">Layout</div>
<button type="button" class="sui-menubar-item"><span class="sui-menubar-check">•</span> Single</button>
<button type="button" class="sui-menubar-item"><span class="sui-menubar-check"></span> Split Horizontal</button>
<button type="button" class="sui-menubar-item"><span class="sui-menubar-check"></span> Split Vertical</button>
</div>
</div>
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">Profiles</button>
<div class="sui-menubar-content">
<div class="sui-menubar-label">Switch Profile</div>
<button type="button" class="sui-menubar-item"><span class="sui-menubar-check">•</span> John Doe</button>
<button type="button" class="sui-menubar-item"><span class="sui-menubar-check"></span> Work</button>
<button type="button" class="sui-menubar-item"><span class="sui-menubar-check"></span> Personal</button>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item sui-menubar-item-inset">Edit Profiles</button>
</div>
</div>
</div>Nest sui-menubar-sub inside a menu for flyout submenus. They open on hover.
<div class="sui-menubar">
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">File</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item">New File <span class="sui-menubar-shortcut">⌘N</span></button>
<div class="sui-menubar-sub">
<button type="button" class="sui-menubar-sub-trigger">Open Recent</button>
<div class="sui-menubar-sub-content">
<button type="button" class="sui-menubar-item">project-alpha.config</button>
<button type="button" class="sui-menubar-item">dashboard.tsx</button>
<button type="button" class="sui-menubar-item">auth.service.ts</button>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item">Clear Recent</button>
</div>
</div>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item">Save <span class="sui-menubar-shortcut">⌘S</span></button>
<button type="button" class="sui-menubar-item">Exit</button>
</div>
</div>
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">Edit</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item">Undo <span class="sui-menubar-shortcut">⌘Z</span></button>
<button type="button" class="sui-menubar-item">Redo <span class="sui-menubar-shortcut">⌘⇧Z</span></button>
<div class="sui-menubar-separator"></div>
<div class="sui-menubar-sub">
<button type="button" class="sui-menubar-sub-trigger">Transform</button>
<div class="sui-menubar-sub-content">
<button type="button" class="sui-menubar-item">Uppercase</button>
<button type="button" class="sui-menubar-item">Lowercase</button>
<button type="button" class="sui-menubar-item">Title Case</button>
</div>
</div>
</div>
</div>
</div>Add disabled class to items that are unavailable.
<div class="sui-menubar">
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">Edit</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item disabled">Undo <span class="sui-menubar-shortcut">⌘Z</span></button>
<button type="button" class="sui-menubar-item disabled">Redo <span class="sui-menubar-shortcut">⌘⇧Z</span></button>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item">Cut <span class="sui-menubar-shortcut">⌘X</span></button>
<button type="button" class="sui-menubar-item">Copy <span class="sui-menubar-shortcut">⌘C</span></button>
<button type="button" class="sui-menubar-item">Paste <span class="sui-menubar-shortcut">⌘V</span></button>
</div>
</div>
</div>Add inline SVGs with sui-menubar-icon for a visual indicator next to items.
<div class="sui-menubar">
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">File</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item">
<svg class="sui-menubar-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/>
<polyline points="14 2 14 8 20 8"/>
</svg>
New File <span class="sui-menubar-shortcut">⌘N</span>
</button>
<button type="button" class="sui-menubar-item">
<svg class="sui-menubar-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M5 19a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4l2 2h4a2 2 0 0 1 2 2v1"/>
<path d="M20 19a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2"/>
<path d="M22 13H2"/>
</svg>
Open <span class="sui-menubar-shortcut">⌘O</span>
</button>
<button type="button" class="sui-menubar-item">
<svg class="sui-menubar-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/>
<polyline points="17 21 17 13 7 13 7 21"/>
<polyline points="7 3 7 8 15 8"/>
</svg>
Save <span class="sui-menubar-shortcut">⌘S</span>
</button>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item">
<svg class="sui-menubar-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M17 3a2.83 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"/>
</svg>
Rename
</button>
</div>
</div>
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">Edit</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item">
<svg class="sui-menubar-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="1 4 1 10 7 10"/>
<path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"/>
</svg>
Undo <span class="sui-menubar-shortcut">⌘Z</span>
</button>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item">
<svg class="sui-menubar-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect x="9" y="9" width="13" height="13" rx="2" ry="2"/>
<path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>
</svg>
Copy <span class="sui-menubar-shortcut">⌘C</span>
</button>
<button type="button" class="sui-menubar-item">
<svg class="sui-menubar-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect x="2" y="6" width="20" height="12" rx="2"/>
<path d="M12 12h.01"/>
</svg>
Paste <span class="sui-menubar-shortcut">⌘V</span>
</button>
<button type="button" class="sui-menubar-item">
<svg class="sui-menubar-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="3 6 5 6 21 6"/>
<path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/>
</svg>
Delete
</button>
</div>
</div>
</div>Add sui-menubar-hover to open menus on hover instead of click.
<div class="sui-menubar sui-menubar-hover">
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">File</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item">New File</button>
<button type="button" class="sui-menubar-item">Open</button>
<button type="button" class="sui-menubar-item">Save</button>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item">Exit</button>
</div>
</div>
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">Edit</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item">Undo</button>
<button type="button" class="sui-menubar-item">Redo</button>
<div class="sui-menubar-separator"></div>
<button type="button" class="sui-menubar-item">Cut</button>
<button type="button" class="sui-menubar-item">Copy</button>
<button type="button" class="sui-menubar-item">Paste</button>
</div>
</div>
<div class="sui-menubar-menu">
<button type="button" class="sui-menubar-trigger">View</button>
<div class="sui-menubar-content">
<button type="button" class="sui-menubar-item">Zoom In</button>
<button type="button" class="sui-menubar-item">Zoom Out</button>
<button type="button" class="sui-menubar-item">Reset Zoom</button>
</div>
</div>
</div>This is a neumorphic modal dialog. It features backdrop blur, smooth animations, and focus trap. Press Escape or click outside to close.
Your session will expire in 5 minutes. Would you like to stay signed in?
This action cannot be undone. This will permanently delete the item and remove all associated data.
This modal takes up the entire viewport. Useful for immersive content, editors, or media viewers.
Press Escape or click the close button to dismiss.
By accessing and using this service, you accept and agree to be bound by the terms and provision of this agreement. In addition, when using these particular services, you shall be subject to any posted guidelines or rules applicable to such services. Any participation in this service will constitute acceptance of this agreement.
Permission is granted to temporarily download one copy of the materials on this website for personal, non-commercial transitory viewing only. This is the grant of a license, not a transfer of title, and under this license you may not modify or copy the materials, use the materials for any commercial purpose, attempt to reverse engineer any software, or remove any copyright notations.
The materials on this website are provided on an 'as is' basis. We make no warranties, expressed or implied, and hereby disclaim and negate all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property.
In no event shall this company or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials, even if we have been notified orally or in writing of the possibility of such damage.
The materials appearing on this website could include technical, typographical, or photographic errors. We do not warrant that any of the materials on its website are accurate, complete or current. We may make changes to the materials contained on its website at any time without notice.
We have not reviewed all of the sites linked to this website and are not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement. Use of any such linked web site is at the user's own risk.
We may revise these terms of service for this website at any time without notice. By using this website you are agreeing to be bound by the then current version of these terms of service. Any changes will be posted on this page with an updated revision date.
These terms and conditions are governed by and construed in accordance with applicable laws and you irrevocably submit to the exclusive jurisdiction of the courts in that location. If any provision of these terms shall be unlawful, void, or unenforceable, then that provision shall be deemed severable and shall not affect the validity of the remaining provisions.
Clicking outside this modal won't close it. Instead, the modal will shake to indicate it requires explicit action. Use the close button or press Escape to dismiss.
This is a default right-side sheet. It slides in from the right edge of the screen with a blurred backdrop.
Sheets are great for navigation menus, settings panels, detail views, and forms that don't need to interrupt the main content flow.
This sheet slides down from the top. Great for announcements, notification panels, or search interfaces.
This is a small (280px) right-side sheet.
This is a large (480px) right-side sheet. Great for forms, detail views, or complex content.
Clicking outside this sheet won't close it. The sheet will shake to indicate it requires explicit action. Use the close button or press Escape.