Overlays & Modals
Overlay components for displaying content above the page: Modal, Slide Over, Tooltip, Popover, and Hover Card.
Modal
Dialog windows with backdrop, focus trap, and keyboard support. Use modals for confirmations, forms, and important content.
Confirm Action
Are you sure you want to continue with this action? This cannot be undone.
Edit Profile
Large Content Modal
This modal demonstrates larger content with more width. Perfect for displaying detailed information, forms with multiple columns, or media content.
Feature 1
Description of the first feature.
Feature 2
Description of the second feature.
Feature 3
Description of the third feature.
Feature 4
Description of the fourth feature.
View Code
<!-- Confirmation Modal -->
<noundry-modal title="Confirm Action"
button-text="Open Modal"
button-variant="primary"
max-width="sm:max-w-lg"
close-on-backdrop="true"
close-on-escape="true">
<p>Are you sure you want to continue?</p>
<div class="flex gap-2 mt-4">
<noundry-button variant="primary">Confirm</noundry-button>
<noundry-button variant="secondary">Cancel</noundry-button>
</div>
</noundry-modal>
<!-- Form Modal -->
<noundry-modal title="Edit Profile"
button-text="Edit"
max-width="sm:max-w-xl">
<form class="space-y-4">
<noundry-text-input label="Name" placeholder="Enter name" />
<noundry-text-input label="Email" type="email" />
<div class="flex gap-2 justify-end">
<noundry-button variant="secondary">Cancel</noundry-button>
<noundry-button type="submit" variant="primary">Save</noundry-button>
</div>
</form>
</noundry-modal>
Modal Properties
| Property | Type | Default | Description |
|---|---|---|---|
title | string | "Modal Title" | Modal header title |
button-text | string | "Open" | Trigger button text |
button-variant | string | "primary" | Button style |
max-width | string | "sm:max-w-lg" | Modal width |
closable | bool | true | Show close button |
close-on-backdrop | bool | true | Close on backdrop click |
close-on-escape | bool | true | Close on Escape key |
Slide Over
Side panel overlays that slide in from the left or right. Perfect for settings panels, filters, and secondary content.
Settings Panel
Navigation Menu
View Code
<noundry-slide-over title="Settings"
button-text="Open Settings"
position="right"
width="w-96">
<noundry-slide-over-content>
<div class="space-y-4">
<noundry-switch label="Enable notifications" />
<noundry-switch label="Dark mode" />
<noundry-switch label="Auto-save" />
</div>
</noundry-slide-over-content>
</noundry-slide-over>
<!-- Left Position -->
<noundry-slide-over title="Menu"
button-text="Open Menu"
position="left"
width="w-80">
<noundry-slide-over-content>
<nav>...</nav>
</noundry-slide-over-content>
</noundry-slide-over>
Slide Over Properties
| Property | Type | Default | Description |
|---|---|---|---|
title | string | null | Panel title |
button-text | string | "Open" | Trigger button text |
position | string | "right" | Position: left, right |
width | string | "w-80" | Panel width |
closable | bool | true | Show close button |
Tooltip
Hover information display. Use tooltips for brief explanations or additional context.
Positions
With Delay
View Code
<!-- Basic Tooltips -->
<noundry-tooltip text="Helpful information" position="top">
<span>Hover over me</span>
</noundry-tooltip>
<!-- Different Positions -->
<noundry-tooltip text="Top tooltip" position="top">...</noundry-tooltip>
<noundry-tooltip text="Right tooltip" position="right">...</noundry-tooltip>
<noundry-tooltip text="Bottom tooltip" position="bottom">...</noundry-tooltip>
<noundry-tooltip text="Left tooltip" position="left">...</noundry-tooltip>
<!-- With Delay -->
<noundry-tooltip text="Delayed tooltip" position="top" delay="500">
<span>Hover for 500ms</span>
</noundry-tooltip>
Tooltip Properties
| Property | Type | Default | Description |
|---|---|---|---|
text | string | required | Tooltip content |
position | string | "top" | Position: top, bottom, left, right |
delay | int | 0 | Show delay (ms) |
trigger | string | "hover" | Trigger: hover, click |
Popover
Click-activated content overlay. Use popovers for richer content that needs user interaction.
Quick Actions
User Info
John Doe
john@example.com
Software developer with 5 years of experience in web technologies.
This popover has no title, just content.
View Code
<noundry-popover title="More Info" position="bottom">
<div slot="trigger">
<noundry-button>Click me</noundry-button>
</div>
<div slot="content">
<p>Popover content with rich HTML</p>
<a href="#">Learn more</a>
</div>
</noundry-popover>
<!-- Different positions -->
<noundry-popover position="top">...</noundry-popover>
<noundry-popover position="right">...</noundry-popover>
<noundry-popover position="left">...</noundry-popover>
Popover Properties
| Property | Type | Default | Description |
|---|---|---|---|
title | string | null | Popover title |
position | string | "bottom" | Position: top, bottom, left, right |
trigger | string | "click" | Trigger: click, hover |
show-arrow | bool | true | Show pointing arrow |
Hover Card
Hover-triggered information cards. Perfect for previewing content or showing user profiles on hover.
Check out the profile of
John Doe
@johndoe
Full-stack developer passionate about building great user experiences. Open source contributor.
The repository
A modern C# ASP.NET TagHelper library with 70 components for building beautiful web applications.
View Code
<noundry-hover-card>
<div slot="trigger">@username</div>
<div slot="content">
<div class="flex items-center gap-3">
<img src="avatar.jpg" class="w-12 h-12 rounded-full" />
<div>
<h3>User Name</h3>
<p>@username</p>
</div>
</div>
<p>User bio and description here</p>
<div class="flex gap-4">
<span><strong>142</strong> following</span>
<span><strong>1.2k</strong> followers</span>
</div>
</div>
</noundry-hover-card>
Hover Card Properties
| Property | Type | Default | Description |
|---|---|---|---|
Uses slot="trigger" and slot="content" for content placement | |||