1// This file is generated by generate-assets.mjs. DO NOT MODIFY. 2import {SvgProps} from 'react-native-svg'; 3 4import AlarmOutlineIcon from '@/assets/icons/alarm-outline.svg'; 5import AlbumOutlineIcon from '@/assets/icons/album-outline.svg'; 6import ArchiveBoxXMarkIcon from '@/assets/icons/archive-box-x-mark.svg'; 7import ArrowDownTrayIcon from '@/assets/icons/arrow-down-tray.svg'; 8import ArrowLeftIcon from '@/assets/icons/arrow-left.svg'; 9import ArrowLongLeftIcon from '@/assets/icons/arrow-long-left.svg'; 10import ArrowPathIcon from '@/assets/icons/arrow-path.svg'; 11import ArrowRightEndOnRectangleIcon from '@/assets/icons/arrow-right-end-on-rectangle.svg'; 12import ArrowUturnLeftIcon from '@/assets/icons/arrow-uturn-left.svg'; 13import ArrowsLeftRightIcon from '@/assets/icons/arrows-left-right.svg'; 14import Bars3Icon from '@/assets/icons/bars-3.svg'; 15import BookmarkSquareIcon from '@/assets/icons/bookmark-square.svg'; 16import ChatBubbleOvalLeftEllipsisIcon from '@/assets/icons/chat-bubble-oval-left-ellipsis.svg'; 17import CheckCircleOutlineIcon from '@/assets/icons/check-circle-outline.svg'; 18import CheckCircleIcon from '@/assets/icons/check-circle.svg'; 19import CheckIcon from '@/assets/icons/check.svg'; 20import CircleStackIcon from '@/assets/icons/circle-stack.svg'; 21import ClockOutlineIcon from '@/assets/icons/clock-outline.svg'; 22import CodeBracketSquareIcon from '@/assets/icons/code-bracket-square.svg'; 23import Cog8ToothIcon from '@/assets/icons/cog-8-tooth.svg'; 24import DocumentOutlineIcon from '@/assets/icons/document-outline.svg'; 25import EllipsisVerticalIcon from '@/assets/icons/ellipsis-vertical.svg'; 26import ExclamationCircleIcon from '@/assets/icons/exclamation-circle.svg'; 27import FireOutlineIcon from '@/assets/icons/fire-outline.svg'; 28import FireIcon from '@/assets/icons/fire.svg'; 29import FolderMusicOutlineIcon from '@/assets/icons/folder-music-outline.svg'; 30import FolderOutlineIcon from '@/assets/icons/folder-outline.svg'; 31import FolderPlusIcon from '@/assets/icons/folder-plus.svg'; 32import FontSizeIcon from '@/assets/icons/font-size.svg'; 33import HandThumbUpIcon from '@/assets/icons/hand-thumb-up.svg'; 34import HeartOutlineIcon from '@/assets/icons/heart-outline.svg'; 35import HeartIcon from '@/assets/icons/heart.svg'; 36import HomeOutlineIcon from '@/assets/icons/home-outline.svg'; 37import IdentificationIcon from '@/assets/icons/identification.svg'; 38import InboxArrowDownIcon from '@/assets/icons/inbox-arrow-down.svg'; 39import InformationCircleIcon from '@/assets/icons/information-circle.svg'; 40import JavascriptIcon from '@/assets/icons/javascript.svg'; 41import LinkSlashIcon from '@/assets/icons/link-slash.svg'; 42import LinkIcon from '@/assets/icons/link.svg'; 43import LyricIcon from '@/assets/icons/lyric.svg'; 44import MagnifyingGlassIcon from '@/assets/icons/magnifying-glass.svg'; 45import MinusIcon from '@/assets/icons/minus.svg'; 46import MotionPlayIcon from '@/assets/icons/motion-play.svg'; 47import MusicalNoteIcon from '@/assets/icons/musical-note.svg'; 48import PauseCircleOutlineIcon from '@/assets/icons/pause-circle-outline.svg'; 49import PauseIcon from '@/assets/icons/pause.svg'; 50import PencilOutlineIcon from '@/assets/icons/pencil-outline.svg'; 51import PencilSquareIcon from '@/assets/icons/pencil-square.svg'; 52import PlayCircleOutlineIcon from '@/assets/icons/play-circle-outline.svg'; 53import PlayCircleIcon from '@/assets/icons/play-circle.svg'; 54import PlayIcon from '@/assets/icons/play.svg'; 55import PlaylistIcon from '@/assets/icons/playlist.svg'; 56import PlusIcon from '@/assets/icons/plus.svg'; 57import PowerOutlineIcon from '@/assets/icons/power-outline.svg'; 58import RepeatSong1Icon from '@/assets/icons/repeat-song-1.svg'; 59import RepeatSongIcon from '@/assets/icons/repeat-song.svg'; 60import ShareIcon from '@/assets/icons/share.svg'; 61import ShieldKeyholeOutlineIcon from '@/assets/icons/shield-keyhole-outline.svg'; 62import ShuffleIcon from '@/assets/icons/shuffle.svg'; 63import SkipLeftIcon from '@/assets/icons/skip-left.svg'; 64import SkipRightIcon from '@/assets/icons/skip-right.svg'; 65import SortOutlineIcon from '@/assets/icons/sort-outline.svg'; 66import TShirtOutlineIcon from '@/assets/icons/t-shirt-outline.svg'; 67import TranslationIcon from '@/assets/icons/translation.svg'; 68import TrashOutlineIcon from '@/assets/icons/trash-outline.svg'; 69import TrophyIcon from '@/assets/icons/trophy.svg'; 70import UserIcon from '@/assets/icons/user.svg'; 71import XMarkIcon from '@/assets/icons/x-mark.svg'; 72 73export type IIconName = 74 | 'alarm-outline' 75 | 'album-outline' 76 | 'archive-box-x-mark' 77 | 'arrow-down-tray' 78 | 'arrow-left' 79 | 'arrow-long-left' 80 | 'arrow-path' 81 | 'arrow-right-end-on-rectangle' 82 | 'arrow-uturn-left' 83 | 'arrows-left-right' 84 | 'bars-3' 85 | 'bookmark-square' 86 | 'chat-bubble-oval-left-ellipsis' 87 | 'check-circle-outline' 88 | 'check-circle' 89 | 'check' 90 | 'circle-stack' 91 | 'clock-outline' 92 | 'code-bracket-square' 93 | 'cog-8-tooth' 94 | 'document-outline' 95 | 'ellipsis-vertical' 96 | 'exclamation-circle' 97 | 'fire-outline' 98 | 'fire' 99 | 'folder-music-outline' 100 | 'folder-outline' 101 | 'folder-plus' 102 | 'font-size' 103 | 'hand-thumb-up' 104 | 'heart-outline' 105 | 'heart' 106 | 'home-outline' 107 | 'identification' 108 | 'inbox-arrow-down' 109 | 'information-circle' 110 | 'javascript' 111 | 'link-slash' 112 | 'link' 113 | 'lyric' 114 | 'magnifying-glass' 115 | 'minus' 116 | 'motion-play' 117 | 'musical-note' 118 | 'pause-circle-outline' 119 | 'pause' 120 | 'pencil-outline' 121 | 'pencil-square' 122 | 'play-circle-outline' 123 | 'play-circle' 124 | 'play' 125 | 'playlist' 126 | 'plus' 127 | 'power-outline' 128 | 'repeat-song-1' 129 | 'repeat-song' 130 | 'share' 131 | 'shield-keyhole-outline' 132 | 'shuffle' 133 | 'skip-left' 134 | 'skip-right' 135 | 'sort-outline' 136 | 't-shirt-outline' 137 | 'translation' 138 | 'trash-outline' 139 | 'trophy' 140 | 'user' 141 | 'x-mark'; 142 143interface IProps extends SvgProps { 144 /** 图标名称 */ 145 name: IIconName; 146 /** 图标大小 */ 147 size?: number; 148} 149 150const iconMap = { 151 'alarm-outline': AlarmOutlineIcon, 152 'album-outline': AlbumOutlineIcon, 153 'archive-box-x-mark': ArchiveBoxXMarkIcon, 154 'arrow-down-tray': ArrowDownTrayIcon, 155 'arrow-left': ArrowLeftIcon, 156 'arrow-long-left': ArrowLongLeftIcon, 157 'arrow-path': ArrowPathIcon, 158 'arrow-right-end-on-rectangle': ArrowRightEndOnRectangleIcon, 159 'arrow-uturn-left': ArrowUturnLeftIcon, 160 'arrows-left-right': ArrowsLeftRightIcon, 161 'bars-3': Bars3Icon, 162 'bookmark-square': BookmarkSquareIcon, 163 'chat-bubble-oval-left-ellipsis': ChatBubbleOvalLeftEllipsisIcon, 164 'check-circle-outline': CheckCircleOutlineIcon, 165 'check-circle': CheckCircleIcon, 166 check: CheckIcon, 167 'circle-stack': CircleStackIcon, 168 'clock-outline': ClockOutlineIcon, 169 'code-bracket-square': CodeBracketSquareIcon, 170 'cog-8-tooth': Cog8ToothIcon, 171 'document-outline': DocumentOutlineIcon, 172 'ellipsis-vertical': EllipsisVerticalIcon, 173 'exclamation-circle': ExclamationCircleIcon, 174 'fire-outline': FireOutlineIcon, 175 fire: FireIcon, 176 'folder-music-outline': FolderMusicOutlineIcon, 177 'folder-outline': FolderOutlineIcon, 178 'folder-plus': FolderPlusIcon, 179 'font-size': FontSizeIcon, 180 'hand-thumb-up': HandThumbUpIcon, 181 'heart-outline': HeartOutlineIcon, 182 heart: HeartIcon, 183 'home-outline': HomeOutlineIcon, 184 identification: IdentificationIcon, 185 'inbox-arrow-down': InboxArrowDownIcon, 186 'information-circle': InformationCircleIcon, 187 javascript: JavascriptIcon, 188 'link-slash': LinkSlashIcon, 189 link: LinkIcon, 190 lyric: LyricIcon, 191 'magnifying-glass': MagnifyingGlassIcon, 192 minus: MinusIcon, 193 'motion-play': MotionPlayIcon, 194 'musical-note': MusicalNoteIcon, 195 'pause-circle-outline': PauseCircleOutlineIcon, 196 pause: PauseIcon, 197 'pencil-outline': PencilOutlineIcon, 198 'pencil-square': PencilSquareIcon, 199 'play-circle-outline': PlayCircleOutlineIcon, 200 'play-circle': PlayCircleIcon, 201 play: PlayIcon, 202 playlist: PlaylistIcon, 203 plus: PlusIcon, 204 'power-outline': PowerOutlineIcon, 205 'repeat-song-1': RepeatSong1Icon, 206 'repeat-song': RepeatSongIcon, 207 share: ShareIcon, 208 'shield-keyhole-outline': ShieldKeyholeOutlineIcon, 209 shuffle: ShuffleIcon, 210 'skip-left': SkipLeftIcon, 211 'skip-right': SkipRightIcon, 212 'sort-outline': SortOutlineIcon, 213 't-shirt-outline': TShirtOutlineIcon, 214 translation: TranslationIcon, 215 'trash-outline': TrashOutlineIcon, 216 trophy: TrophyIcon, 217 user: UserIcon, 218 'x-mark': XMarkIcon, 219} as const; 220 221export default function Icon(props: IProps) { 222 const {name, size} = props; 223 224 const newProps = { 225 ...props, 226 width: props.width ?? size, 227 height: props.width ?? size, 228 } as SvgProps; 229 230 const Component = iconMap[name]; 231 232 return <Component {...newProps} />; 233} 234