import React from "react"; import Svg, { Circle, Line, Path, Polyline } from "react-native-svg"; export interface NIconProps { size?: number; color?: string; } export type NIcon = React.ComponentType | React.ReactElement; export const resolveIcon = ( icon: NIcon | undefined, options: { size?: number; color?: string } = {}, ): React.ReactElement | null => { if (!icon) return null; const { size = 16, color } = options; if (React.isValidElement(icon)) { const element = icon as React.ReactElement; return color != null ? React.cloneElement(element, { color: element.props.color ?? color }) : element; } const IconComponent = icon as React.ComponentType; return color != null ? ( ) : ( ); }; export const SunIcon = React.memo(({ size = 22, color = "#fff" }) => ( )); SunIcon.displayName = "SunIcon"; export const MoonIcon = React.memo(({ size = 22, color = "#fff" }) => ( )); MoonIcon.displayName = "MoonIcon"; export const ChevronDownIcon = React.memo(({ size = 22, color = "#fff" }) => ( )); ChevronDownIcon.displayName = "ChevronDownIcon"; export const ChevronForwardIcon = React.memo(({ size = 22, color = "#fff" }) => ( )); ChevronForwardIcon.displayName = "ChevronForwardIcon"; export const CheckmarkIcon = React.memo(({ size = 22, color = "#fff" }) => ( )); CheckmarkIcon.displayName = "CheckmarkIcon"; export const CloseIcon = React.memo(({ size = 22, color = "#fff" }) => ( )); CloseIcon.displayName = "CloseIcon"; export const SearchIcon = React.memo(({ size = 22, color = "#fff" }) => ( )); SearchIcon.displayName = "SearchIcon"; export const InformationCircleIcon = React.memo(({ size = 22, color = "#fff" }) => ( )); InformationCircleIcon.displayName = "InformationCircleIcon"; export const AlertCircleIcon = React.memo(({ size = 22, color = "#fff" }) => ( )); AlertCircleIcon.displayName = "AlertCircleIcon"; export const EyeIcon = React.memo(({ size = 22, color = "#fff" }) => ( )); EyeIcon.displayName = "EyeIcon"; export const EyeOffIcon = React.memo(({ size = 22, color = "#fff" }) => ( )); EyeOffIcon.displayName = "EyeOffIcon"; export const CalendarIcon = React.memo(({ size = 22, color = "#fff" }) => ( )); CalendarIcon.displayName = "CalendarIcon";