/** * ZUI Spacing System * Spacing tokens for consistent layout and component spacing */ import type { ThemeSpacing } from '../core/types'; /** * Base spacing scale based on 4px grid */ export declare const spacingScale: { readonly xxs: 4; readonly xs: 8; readonly sm: 12; readonly md: 16; readonly lg: 24; readonly xl: 32; readonly xxl: 48; }; /** * Card component spacing */ export declare const cardSpacing: { readonly padding: 16; readonly margin: 16; readonly borderRadius: 16; }; /** * List component spacing */ export declare const listSpacing: { readonly itemSpacing: 8; readonly itemPadding: 16; readonly sectionSpacing: 16; }; /** * Button component spacing */ export declare const buttonSpacing: { readonly paddingHorizontal: 24; readonly paddingVertical: 12; readonly iconSpacing: 8; readonly capsuleRadius: 24; readonly floatingSize: 56; }; /** * Input component spacing */ export declare const inputSpacing: { readonly height: 48; readonly padding: 16; readonly labelSpacing: 8; readonly borderRadius: 8; }; /** * Title bar spacing */ export declare const titleBarSpacing: { readonly height: 60; readonly paddingTop: 12; readonly paddingHorizontal: 16; }; /** * Safe area margins * Leave 2px safe margin around the central area */ export declare const safeArea: { readonly margin: 2; readonly statusIndicatorTop: 8; readonly statusIndicatorBottom: 8; }; /** * Default spacing theme */ export declare const defaultSpacing: ThemeSpacing; export type SpacingKey = keyof typeof spacingScale; /** * Get spacing value by key or return numeric value * @param value - Spacing key or numeric value */ export declare function getSpacing(value: SpacingKey | number): number; /** * Create padding object from shorthand * @param value - Single value, [vertical, horizontal], or [top, right, bottom, left] */ export declare function createPadding(value: number | [number, number] | [number, number, number, number]): { top: number; right: number; bottom: number; left: number; }; /** * Create margin object from shorthand */ export declare const createMargin: typeof createPadding; /** * Calculate content area dimensions accounting for safe area * @param screenWidth - Screen width * @param screenHeight - Screen height */ export declare function getContentArea(screenWidth?: number, screenHeight?: number): { x: number; y: number; width: number; height: number; }; /** * Calculate circular screen safe content area * For circular screens, content near edges should be moved inward * * @param screenWidth - Screen width * @param screenHeight - Screen height * @param edgeMargin - Additional margin from circular edge */ export declare function getCircularContentArea(screenWidth?: number, screenHeight?: number, edgeMargin?: number): { x: number; y: number; width: number; height: number; }; /** * Get touch target size (minimum 48x48 for accessibility) */ export declare const TOUCH_TARGET_MIN = 48; /** * Ensure touch target meets minimum size * @param size - Desired size */ export declare function ensureTouchTarget(size: number): number; //# sourceMappingURL=spacing.d.ts.map