/**
* @fileoverview Device frame mockups (Safari browser and iPhone).
* @author Saasflare™
* CSS-only device frames for wrapping screenshots and demos.
* No images or assets required — pure HTML/CSS chrome.
* @module packages/ui/components/ui/device-mock
* @package ui
*
* @component
* @example
* import { SafariMock, IPhoneMock } from '@saasflare/ui';
*
*
*
*
* @example
*
*
*
*/
import * as React from "react";
import { type ReactNode } from "react";
import { type SaasflareComponentProps } from "../../providers";
/** Props for the SafariMock component. */
export interface SafariMockProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps {
/** Content to display inside the browser frame. */
children: ReactNode;
/** URL text shown in the address bar. Default: `"https://example.com"` */
url?: string;
/** Additional class names. */
className?: string;
}
/**
* Safari-style browser frame for wrapping screenshots.
*
* - CSS-only traffic lights (red/yellow/green dots)
* - Address bar with optional URL text
* - Rounded corners matching macOS window chrome
*
* @component
* @package ui
*/
export declare function SafariMock({ children, url, className, surface, radius, animated, iconWeight, ...props }: SafariMockProps): import("react/jsx-runtime").JSX.Element;
/** Props for the IPhoneMock component. */
export interface IPhoneMockProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps {
/** Content to display inside the phone frame. */
children: ReactNode;
/** Additional class names. */
className?: string;
}
/**
* iPhone-style device frame for wrapping mobile screenshots.
*
* - CSS-only frame with rounded corners and notch
* - Status bar with time and signal indicators
* - Aspect ratio matches iPhone 15 Pro proportions
*
* @component
* @package ui
*/
export declare function IPhoneMock({ children, className, surface, radius, animated, iconWeight, ...props }: IPhoneMockProps): import("react/jsx-runtime").JSX.Element;