Poppr
Configuration
The <PopprModal />
component is the core UI renderer behind every modal triggered via the poppr()
API. You must render it once in your app — typically in your layout file.
✅ How to use
import { PopprModal } from "poppr";
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en">
<body>
{children}
<PopprModal />
</body>
</html>
);
}
Once rendered, you can call poppr()
from anywhere in your app — the modal will appear globally.
📦 Props
Currently, <PopprModal />
does not require any props. All state is internally managed by the poppr store, and configuration is passed via the poppr()
function.
🚧 Coming Soon
The following features will be supported directly via <PopprModal />
props in upcoming versions:
- Positioning: Control where the modal appears (top, center, bottom).
- Theme overrides: Inject dark/light styles or custom class mappings.
- Global options: Set default modal behavior app-wide (e.g., closeOnBackdropClick, durations, etc.).
🧠 Tip
Even though <PopprModal />
is simple, it powers all the advanced functionality under the hood like:
- Stacking multiple modals
- Confirm + loading flows
- Type-based styling and icons
- Animated mounts using Framer Motion
🛠 Best Practice
Place it as low in your layout tree as possible to avoid hydration issues and ensure it's only rendered once.