/** * @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'; * * App screenshot * * * @example * * Mobile view * */ 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;