|
| 1 | + |
| 2 | +import React from 'react' |
| 3 | +import Svg, { Circle, ClipPath, Defs, Ellipse, G, Line, LinearGradient, Mask, Path, Polygon, Polyline, RadialGradient, Rect, Stop } from 'react-native-svg' |
| 4 | +import {type Variant, type HugeIconProps, defaultStrokeWidth, defaultVariant, defaultColor, defaultSize } from './constants' |
| 5 | + |
| 6 | +const iconMap: Partial<Record<Variant, React.FC<HugeIconProps>>> = { |
| 7 | + 'solid-rounded': SolidRounded, |
| 8 | + 'stroke-rounded': StrokeRounded, |
| 9 | +} |
| 10 | + |
| 11 | +export default function Car01Icon({ variant, ...rest }: HugeIconProps) { |
| 12 | + const selectedVariant = variant || defaultVariant |
| 13 | + const Component = iconMap[selectedVariant] || iconMap[defaultVariant] || StrokeRounded |
| 14 | + return <Component {...rest} /> |
| 15 | +} |
| 16 | + |
| 17 | +function SolidRounded({ size = defaultSize, color = defaultColor, strokeWidth = defaultStrokeWidth, className, style }: HugeIconProps) { |
| 18 | + return (<Svg className={className} style={style} width={size} height={size} viewBox="0 0 24 24" fill="none"> |
| 19 | +<Path d="M17.9 19.7517C17.7114 19.7517 17.6172 19.7517 17.5586 19.8103C17.5 19.8688 17.5 19.9631 17.5 20.1517V20.6336C17.5 21.0124 17.7407 21.3587 18.1219 21.5281C18.1369 21.5347 18.1518 21.5414 18.1667 21.5481C18.398 21.6513 18.6227 21.7517 18.8906 21.7517H20.6094C20.8773 21.7517 21.102 21.6513 21.3333 21.5481C21.3482 21.5414 21.3631 21.5347 21.3781 21.5281C21.7592 21.3587 22 21.0124 22 20.6336V19.7449C22 19.4893 22 19.3614 21.9295 19.3015C21.859 19.2416 21.7167 19.2649 21.432 19.3114C21.4037 19.316 21.3752 19.3202 21.3465 19.324L18.2296 19.7365C18.1535 19.7466 18.0768 19.7517 18 19.7517H17.9Z" fill={color}/> |
| 20 | +<Path d="M6.1 19.7519C6.28856 19.7519 6.38284 19.7519 6.44142 19.8105C6.5 19.869 6.5 19.9633 6.5 20.1519V20.6338C6.5 21.0126 6.25925 21.3589 5.87812 21.5283C5.86314 21.5349 5.8482 21.5416 5.83329 21.5483C5.60202 21.6515 5.37734 21.7519 5.10942 21.7519H3.39058C3.12266 21.7519 2.89798 21.6515 2.66671 21.5483C2.6518 21.5416 2.63686 21.5349 2.62188 21.5283C2.24075 21.3589 2 21.0126 2 20.6338V19.7451C2 19.4894 2 19.3616 2.07048 19.3017C2.14095 19.2418 2.28329 19.2651 2.56797 19.3116C2.59626 19.3162 2.62479 19.3204 2.65355 19.3242L5.77037 19.7367C5.84651 19.7468 5.92322 19.7519 6 19.7519H6.1Z" fill={color}/> |
| 21 | +<Path fillRule="evenodd" clipRule="evenodd" d="M2.10579 7.55301C2.35278 7.05903 2.95345 6.8588 3.44743 7.10579L4.44743 7.60579C4.94141 7.85278 5.14164 8.45345 4.89465 8.94743C4.64766 9.44141 4.04698 9.64164 3.55301 9.39465L2.55301 8.89465C2.05903 8.64766 1.8588 8.04698 2.10579 7.55301ZM21.8946 7.55301C22.1416 8.04698 21.9414 8.64766 21.4474 8.89465L20.4474 9.39465C19.9535 9.64164 19.3528 9.44141 19.1058 8.94743C18.8588 8.45345 19.059 7.85278 19.553 7.60579L20.553 7.10579C21.047 6.8588 21.6477 7.05903 21.8946 7.55301Z" fill={color}/> |
| 22 | +<Path fillRule="evenodd" clipRule="evenodd" d="M20.3433 8.79564C20.7622 9.22922 21.2798 9.76497 21.7098 10.3405C22.2502 11.0638 22.75 11.9711 22.75 12.9996V16.4702C22.75 17.3475 22.1567 18.2064 21.2152 18.331L18.0984 18.7435C18.0658 18.7478 18.0329 18.75 18 18.75H6C5.96709 18.75 5.93422 18.7478 5.90159 18.7435L2.78475 18.331C1.84332 18.2064 1.25 17.3475 1.25 16.4702V12.9996C1.25 11.9711 1.74984 11.0638 2.29022 10.3405C2.7202 9.76497 3.23763 9.22942 3.65654 8.79585C3.74162 8.70778 3.7604 8.63077 3.80007 8.51582L4.87241 5.40846C5.07214 4.8296 5.2472 4.32221 5.44107 3.91969C5.65065 3.48453 5.92061 3.08574 6.35853 2.78087C6.79644 2.47599 7.2735 2.35473 7.76717 2.30029C8.22382 2.24994 8.77751 2.24997 9.40922 2.25H14.5908C15.2225 2.24997 15.7762 2.24994 16.2328 2.30029C16.7265 2.35473 17.2036 2.47599 17.6415 2.78087C18.0794 3.08574 18.3493 3.48453 18.5589 3.91969C18.7528 4.32221 18.9278 4.82957 19.1276 5.40843L20.1999 8.51582C20.2373 8.62416 20.2632 8.71279 20.3433 8.79564ZM6.7797 8.25C6.39606 8.25 6.20424 8.25 6.11452 8.12413C6.0248 7.99825 6.08737 7.81693 6.21253 7.45427L6.69783 6.04798C6.91843 5.40875 7.0595 5.00446 7.20106 4.71053C7.38093 4.33706 7.57661 4.20842 7.98735 4.16313C8.3208 4.12636 8.7625 4.12494 9.46009 4.12494H14.5399C15.2375 4.12494 15.6792 4.12636 16.0126 4.16313C16.4234 4.20842 16.6191 4.33706 16.7989 4.71053C16.9405 5.00446 17.0816 5.40875 17.3022 6.04798L17.7875 7.45427C17.9126 7.81693 17.9752 7.99825 17.8855 8.12413C17.7958 8.25 17.6039 8.25 17.2203 8.25H6.7797ZM3.33557 11.5793C2.96509 11.3941 2.51459 11.5443 2.32934 11.9148C2.1441 12.2852 2.29427 12.7357 2.66475 12.921L4.16475 13.671C4.53524 13.8562 4.98574 13.7061 5.17098 13.3356C5.35623 12.9651 5.20606 12.5146 4.83557 12.3293L3.33557 11.5793ZM21.3356 12.921C21.7061 12.7357 21.8562 12.2852 21.671 11.9148C21.4857 11.5443 21.0352 11.3941 20.6648 11.5793L19.1648 12.3293C18.7943 12.5146 18.6441 12.9651 18.8293 13.3356C19.0146 13.7061 19.4651 13.8562 19.8356 13.671L21.3356 12.921ZM12.9692 15H11.0314C10.0477 15 9.55587 15 9.17494 15.2735C8.87929 15.4858 8.70306 15.8251 8.46817 16.4192C8.36499 16.6802 8.3134 16.8107 8.37275 16.9054C8.4321 17 8.56701 17 8.83682 17H15.1639C15.4337 17 15.5686 17 15.6279 16.9054C15.6873 16.8107 15.6357 16.6802 15.5325 16.4192C15.2976 15.8251 15.1214 15.4858 14.8257 15.2735C14.4448 15 13.9529 15 12.9692 15Z" fill={color}/> |
| 23 | +</Svg> |
| 24 | +) |
| 25 | +} |
| 26 | + |
| 27 | +function StrokeRounded({ size = defaultSize, color = defaultColor, strokeWidth = defaultStrokeWidth, className, style }: HugeIconProps) { |
| 28 | + return (<Svg className={className} style={style} width={size} height={size} viewBox="0 0 24 24" fill="none"> |
| 29 | +<Path d="M2.5 12L4.5 13" stroke={color} strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round"/> |
| 30 | +<Path d="M21.5 12.5L19.5 13" stroke={color} strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round"/> |
| 31 | +<Path d="M8 17.5L8.24567 16.8858C8.61101 15.9725 8.79368 15.5158 9.17461 15.2579C9.55553 15 10.0474 15 11.0311 15H12.9689C13.9526 15 14.4445 15 14.8254 15.2579C15.2063 15.5158 15.389 15.9725 15.7543 16.8858L16 17.5" stroke={color} strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round"/> |
| 32 | +<Path d="M2 17V19.882C2 20.2607 2.24075 20.607 2.62188 20.7764C2.86918 20.8863 3.10538 21 3.39058 21H5.10942C5.39462 21 5.63082 20.8863 5.87812 20.7764C6.25925 20.607 6.5 20.2607 6.5 19.882V18" stroke={color} strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round"/> |
| 33 | +<Path d="M17.5 18V19.882C17.5 20.2607 17.7408 20.607 18.1219 20.7764C18.3692 20.8863 18.6054 21 18.8906 21H20.6094C20.8946 21 21.1308 20.8863 21.3781 20.7764C21.7592 20.607 22 20.2607 22 19.882V17" stroke={color} strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round"/> |
| 34 | +<Path d="M20 8.5L21 8" stroke={color} strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round"/> |
| 35 | +<Path d="M4 8.5L3 8" stroke={color} strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round"/> |
| 36 | +<Path d="M4.5 9L5.5883 5.73509C6.02832 4.41505 6.24832 3.75503 6.7721 3.37752C7.29587 3 7.99159 3 9.38304 3H14.617C16.0084 3 16.7041 3 17.2279 3.37752C17.7517 3.75503 17.9717 4.41505 18.4117 5.73509L19.5 9" stroke={color} strokeWidth={strokeWidth} strokeLinejoin="round"/> |
| 37 | +<Path d="M4.5 9H19.5C20.4572 10.0135 22 11.4249 22 12.9996V16.4702C22 17.0407 21.6205 17.5208 21.1168 17.5875L18 18H6L2.88316 17.5875C2.37955 17.5208 2 17.0407 2 16.4702V12.9996C2 11.4249 3.54279 10.0135 4.5 9Z" stroke={color} strokeWidth={strokeWidth} strokeLinejoin="round"/> |
| 38 | +</Svg> |
| 39 | +) |
| 40 | +} |
0 commit comments