/*! ratio-ui · design system for knowledge sharing · https://github.com/losol/ratio-ui · (c) 2026 Losol AS · MPL-2.0 */
import { cn } from "../../utils/cn.js";
import "react";
import { jsx } from "react/jsx-runtime";
//#region src/core/PageOverlay/PageOverlay.tsx
var statusOverlayClasses = {
	neutral: "bg-black/90",
	info: "bg-info-950/95",
	success: "bg-success-950/95",
	warning: "bg-warning-950/95",
	error: "bg-error-950/95"
};
/**
* Generic fullscreen page overlay component.
*
* Use this for critical content that should block the UI, such as:
* - Fatal errors (status="error")
* - Loading states
* - Important messages
* - Maintenance notices
*
* @example
* ```tsx
* <PageOverlay status="error">
*   <ErrorBlock type="server-error" status="error">
*     <ErrorBlock.Title>Fatal Error</ErrorBlock.Title>
*     <ErrorBlock.Description>The application encountered a critical error.</ErrorBlock.Description>
*   </ErrorBlock>
* </PageOverlay>
* ```
*/
function PageOverlay({ status = "neutral", fullScreen = true, className, children }) {
	return /* @__PURE__ */ jsx("div", {
		className: cn(fullScreen ? "fixed inset-0 z-50" : "relative", statusOverlayClasses[status], "flex items-center justify-center p-4 sm:p-10", className),
		role: "dialog",
		"aria-modal": "true",
		"aria-live": "assertive",
		children: /* @__PURE__ */ jsx("div", {
			className: "w-full max-w-2xl bg-card rounded-lg shadow-2xl p-6 sm:p-8",
			children
		})
	});
}
//#endregion
export { PageOverlay };

//# sourceMappingURL=PageOverlay.js.map