import { forwardRef, type ForwardRefExoticComponent, type RefAttributes, } from 'react' import Svg, {Path} from 'react-native-svg' import {type Props, useCommonSVGProps} from '#/components/icons/common' export type IconWithSvgMeta = ForwardRefExoticComponent< Props & RefAttributes > & { svgPaths: string[] svgViewBox: string svgStrokeWidth: number } export const IconTemplate_Stroke2_Corner0_Rounded = forwardRef( function LogoImpl(props: Props, ref) { const {fill, size, style, ...rest} = useCommonSVGProps(props) return ( ) }, ) export function createSinglePathSVG({ path, viewBox, strokeWidth = 0, strokeLinecap = 'butt', strokeLinejoin = 'miter', }: { path: string viewBox?: string strokeWidth?: number strokeLinecap?: 'butt' | 'round' | 'square' strokeLinejoin?: 'miter' | 'round' | 'bevel' }) { const Icon = forwardRef(function LogoImpl(props, ref) { const {fill, size, style, gradient, ...rest} = useCommonSVGProps(props) const hasStroke = strokeWidth > 0 return ( {gradient} ) }) as IconWithSvgMeta Icon.svgPaths = [path] Icon.svgViewBox = viewBox || '0 0 24 24' Icon.svgStrokeWidth = strokeWidth return Icon } export function createMultiPathSVG({ paths, viewBox, }: { paths: string[] viewBox?: string }) { const Icon = forwardRef(function LogoImpl(props, ref) { const {fill, size, style, gradient, ...rest} = useCommonSVGProps(props) return ( {gradient} {paths.map((path, i) => ( ))} ) }) as IconWithSvgMeta Icon.svgPaths = paths Icon.svgViewBox = viewBox || '0 0 24 24' Icon.svgStrokeWidth = 0 return Icon }