/** * ZUI Icon System * Icon specifications based on ZeppOS 3.0 design guidelines * * Icons follow "lightweight" and "friendly" design concepts using * simple geometric configurations with continuous curves. */ /** * Icon size definitions (includes 2px transparent safe area) * Actual visual content is size - 4px (2px safe area on each side) */ export declare const iconSizes: { readonly ultraSmall: 32; readonly small: 40; readonly medium: 52; readonly regular: 64; readonly large: 80; readonly appIcon: 248; }; /** * App icon specifications * - Overall size: 248×248px * - Content size: 240×240px (4px safe area all around) * - Store icon size: 240×240px */ export declare const appIconConfig: { readonly size: 248; readonly contentSize: 240; readonly safeArea: 4; readonly storeSize: 240; }; /** * General icon safe area (2px on all sides) */ export declare const ICON_SAFE_AREA = 2; export type IconSize = keyof typeof iconSizes; export interface IconConfig { name: string; path?: string; size?: IconSize | number; color?: string; } /** * System icon names (mapped to resources) */ export declare const systemIcons: { readonly back: "ic_back"; readonly forward: "ic_forward"; readonly close: "ic_close"; readonly menu: "ic_menu"; readonly home: "ic_home"; readonly add: "ic_add"; readonly remove: "ic_remove"; readonly edit: "ic_edit"; readonly delete: "ic_delete"; readonly share: "ic_share"; readonly save: "ic_save"; readonly refresh: "ic_refresh"; readonly search: "ic_search"; readonly settings: "ic_settings"; readonly download: "ic_download"; readonly upload: "ic_upload"; readonly check: "ic_check"; readonly checkCircle: "ic_check_circle"; readonly error: "ic_error"; readonly warning: "ic_warning"; readonly info: "ic_info"; readonly play: "ic_play"; readonly pause: "ic_pause"; readonly stop: "ic_stop"; readonly next: "ic_next"; readonly previous: "ic_previous"; readonly volume: "ic_volume"; readonly mute: "ic_mute"; readonly heart: "ic_heart"; readonly heartRate: "ic_heart_rate"; readonly steps: "ic_steps"; readonly calories: "ic_calories"; readonly sleep: "ic_sleep"; readonly stress: "ic_stress"; readonly spo2: "ic_spo2"; readonly workout: "ic_workout"; readonly sunny: "ic_sunny"; readonly cloudy: "ic_cloudy"; readonly rainy: "ic_rainy"; readonly snowy: "ic_snowy"; readonly temperature: "ic_temperature"; readonly battery: "ic_battery"; readonly batteryLow: "ic_battery_low"; readonly bluetooth: "ic_bluetooth"; readonly wifi: "ic_wifi"; readonly dnd: "ic_dnd"; readonly alarm: "ic_alarm"; readonly timer: "ic_timer"; readonly stopwatch: "ic_stopwatch"; readonly flashlight: "ic_flashlight"; readonly chevronRight: "ic_chevron_right"; readonly chevronLeft: "ic_chevron_left"; readonly chevronUp: "ic_chevron_up"; readonly chevronDown: "ic_chevron_down"; readonly more: "ic_more"; readonly help: "ic_help"; }; export type SystemIconName = keyof typeof systemIcons; /** * Get icon size value * @param size - Size key or numeric value */ export declare function getIconSize(size: IconSize | number): number; /** * Get visual content size (excluding safe area) * @param size - Total icon size */ export declare function getIconContentSize(size: number): number; /** * Get icon resource path * @param name - Icon name * @param size - Size variant */ export declare function getIconPath(name: string, size?: IconSize): string; /** * Create icon configuration * @param name - Icon name or system icon key * @param options - Optional configuration */ export declare function createIcon(name: SystemIconName | string, options?: Partial>): IconConfig; /** * Check if icon meets output requirements * - Must be PNG format * - Must include 2px transparent safe area * - For app icons: must be circular with 4px safe area */ export declare function validateIcon(width: number, height: number, isAppIcon?: boolean): { valid: boolean; errors: string[]; safeArea: number; }; /** * Button icon sizes by button size */ export declare const buttonIconSizes: { readonly small: 32; readonly medium: 40; readonly large: 52; readonly floating: 64; }; /** * Get appropriate icon size for button * @param buttonSize - Button size variant */ export declare function getButtonIconSize(buttonSize: keyof typeof buttonIconSizes): number; //# sourceMappingURL=icons.d.ts.map