xref: /MusicFree/src/components/base/icon.tsx (revision 26f326364ffffc501faab6b3f1563421273758ae)
15589cdf3S猫头猫// This file is generated by generate-assets.mjs. DO NOT MODIFY.
25589cdf3S猫头猫import {SvgProps} from 'react-native-svg';
35589cdf3S猫头猫
45589cdf3S猫头猫import AlarmOutlineIcon from '@/assets/icons/alarm-outline.svg';
55589cdf3S猫头猫import AlbumOutlineIcon from '@/assets/icons/album-outline.svg';
65589cdf3S猫头猫import ArchiveBoxXMarkIcon from '@/assets/icons/archive-box-x-mark.svg';
75589cdf3S猫头猫import ArrowDownTrayIcon from '@/assets/icons/arrow-down-tray.svg';
85589cdf3S猫头猫import ArrowLeftIcon from '@/assets/icons/arrow-left.svg';
95589cdf3S猫头猫import ArrowLongLeftIcon from '@/assets/icons/arrow-long-left.svg';
105589cdf3S猫头猫import ArrowPathIcon from '@/assets/icons/arrow-path.svg';
115589cdf3S猫头猫import ArrowRightEndOnRectangleIcon from '@/assets/icons/arrow-right-end-on-rectangle.svg';
12*26f32636S猫头猫import ArrowUpTrayIcon from '@/assets/icons/arrow-up-tray.svg';
135589cdf3S猫头猫import ArrowUturnLeftIcon from '@/assets/icons/arrow-uturn-left.svg';
145589cdf3S猫头猫import ArrowsLeftRightIcon from '@/assets/icons/arrows-left-right.svg';
155589cdf3S猫头猫import Bars3Icon from '@/assets/icons/bars-3.svg';
165589cdf3S猫头猫import BookmarkSquareIcon from '@/assets/icons/bookmark-square.svg';
17da2a2959S猫头猫import ChatBubbleOvalLeftEllipsisIcon from '@/assets/icons/chat-bubble-oval-left-ellipsis.svg';
185589cdf3S猫头猫import CheckCircleOutlineIcon from '@/assets/icons/check-circle-outline.svg';
195589cdf3S猫头猫import CheckCircleIcon from '@/assets/icons/check-circle.svg';
205589cdf3S猫头猫import CheckIcon from '@/assets/icons/check.svg';
215589cdf3S猫头猫import CircleStackIcon from '@/assets/icons/circle-stack.svg';
225589cdf3S猫头猫import ClockOutlineIcon from '@/assets/icons/clock-outline.svg';
235589cdf3S猫头猫import CodeBracketSquareIcon from '@/assets/icons/code-bracket-square.svg';
245589cdf3S猫头猫import Cog8ToothIcon from '@/assets/icons/cog-8-tooth.svg';
255589cdf3S猫头猫import DocumentOutlineIcon from '@/assets/icons/document-outline.svg';
265589cdf3S猫头猫import EllipsisVerticalIcon from '@/assets/icons/ellipsis-vertical.svg';
275589cdf3S猫头猫import ExclamationCircleIcon from '@/assets/icons/exclamation-circle.svg';
285589cdf3S猫头猫import FireOutlineIcon from '@/assets/icons/fire-outline.svg';
295589cdf3S猫头猫import FireIcon from '@/assets/icons/fire.svg';
305589cdf3S猫头猫import FolderMusicOutlineIcon from '@/assets/icons/folder-music-outline.svg';
315589cdf3S猫头猫import FolderOutlineIcon from '@/assets/icons/folder-outline.svg';
325589cdf3S猫头猫import FolderPlusIcon from '@/assets/icons/folder-plus.svg';
335589cdf3S猫头猫import FontSizeIcon from '@/assets/icons/font-size.svg';
34da2a2959S猫头猫import HandThumbUpIcon from '@/assets/icons/hand-thumb-up.svg';
355589cdf3S猫头猫import HeartOutlineIcon from '@/assets/icons/heart-outline.svg';
365589cdf3S猫头猫import HeartIcon from '@/assets/icons/heart.svg';
375589cdf3S猫头猫import HomeOutlineIcon from '@/assets/icons/home-outline.svg';
385589cdf3S猫头猫import IdentificationIcon from '@/assets/icons/identification.svg';
395589cdf3S猫头猫import InboxArrowDownIcon from '@/assets/icons/inbox-arrow-down.svg';
405589cdf3S猫头猫import InformationCircleIcon from '@/assets/icons/information-circle.svg';
415589cdf3S猫头猫import JavascriptIcon from '@/assets/icons/javascript.svg';
425589cdf3S猫头猫import LinkSlashIcon from '@/assets/icons/link-slash.svg';
435589cdf3S猫头猫import LinkIcon from '@/assets/icons/link.svg';
445589cdf3S猫头猫import LyricIcon from '@/assets/icons/lyric.svg';
455589cdf3S猫头猫import MagnifyingGlassIcon from '@/assets/icons/magnifying-glass.svg';
465589cdf3S猫头猫import MinusIcon from '@/assets/icons/minus.svg';
475589cdf3S猫头猫import MotionPlayIcon from '@/assets/icons/motion-play.svg';
485589cdf3S猫头猫import MusicalNoteIcon from '@/assets/icons/musical-note.svg';
495589cdf3S猫头猫import PauseCircleOutlineIcon from '@/assets/icons/pause-circle-outline.svg';
505589cdf3S猫头猫import PauseIcon from '@/assets/icons/pause.svg';
515589cdf3S猫头猫import PencilOutlineIcon from '@/assets/icons/pencil-outline.svg';
525589cdf3S猫头猫import PencilSquareIcon from '@/assets/icons/pencil-square.svg';
535589cdf3S猫头猫import PlayCircleOutlineIcon from '@/assets/icons/play-circle-outline.svg';
545589cdf3S猫头猫import PlayCircleIcon from '@/assets/icons/play-circle.svg';
555589cdf3S猫头猫import PlayIcon from '@/assets/icons/play.svg';
565589cdf3S猫头猫import PlaylistIcon from '@/assets/icons/playlist.svg';
575589cdf3S猫头猫import PlusIcon from '@/assets/icons/plus.svg';
585589cdf3S猫头猫import PowerOutlineIcon from '@/assets/icons/power-outline.svg';
595589cdf3S猫头猫import RepeatSong1Icon from '@/assets/icons/repeat-song-1.svg';
605589cdf3S猫头猫import RepeatSongIcon from '@/assets/icons/repeat-song.svg';
615589cdf3S猫头猫import ShareIcon from '@/assets/icons/share.svg';
625589cdf3S猫头猫import ShieldKeyholeOutlineIcon from '@/assets/icons/shield-keyhole-outline.svg';
635589cdf3S猫头猫import ShuffleIcon from '@/assets/icons/shuffle.svg';
645589cdf3S猫头猫import SkipLeftIcon from '@/assets/icons/skip-left.svg';
655589cdf3S猫头猫import SkipRightIcon from '@/assets/icons/skip-right.svg';
665589cdf3S猫头猫import SortOutlineIcon from '@/assets/icons/sort-outline.svg';
675589cdf3S猫头猫import TShirtOutlineIcon from '@/assets/icons/t-shirt-outline.svg';
685589cdf3S猫头猫import TranslationIcon from '@/assets/icons/translation.svg';
695589cdf3S猫头猫import TrashOutlineIcon from '@/assets/icons/trash-outline.svg';
705589cdf3S猫头猫import TrophyIcon from '@/assets/icons/trophy.svg';
715589cdf3S猫头猫import UserIcon from '@/assets/icons/user.svg';
725589cdf3S猫头猫import XMarkIcon from '@/assets/icons/x-mark.svg';
735589cdf3S猫头猫
745589cdf3S猫头猫export type IIconName =
755589cdf3S猫头猫    | 'alarm-outline'
765589cdf3S猫头猫    | 'album-outline'
775589cdf3S猫头猫    | 'archive-box-x-mark'
785589cdf3S猫头猫    | 'arrow-down-tray'
795589cdf3S猫头猫    | 'arrow-left'
805589cdf3S猫头猫    | 'arrow-long-left'
815589cdf3S猫头猫    | 'arrow-path'
825589cdf3S猫头猫    | 'arrow-right-end-on-rectangle'
83*26f32636S猫头猫    | 'arrow-up-tray'
845589cdf3S猫头猫    | 'arrow-uturn-left'
855589cdf3S猫头猫    | 'arrows-left-right'
865589cdf3S猫头猫    | 'bars-3'
875589cdf3S猫头猫    | 'bookmark-square'
88da2a2959S猫头猫    | 'chat-bubble-oval-left-ellipsis'
895589cdf3S猫头猫    | 'check-circle-outline'
905589cdf3S猫头猫    | 'check-circle'
915589cdf3S猫头猫    | 'check'
925589cdf3S猫头猫    | 'circle-stack'
935589cdf3S猫头猫    | 'clock-outline'
945589cdf3S猫头猫    | 'code-bracket-square'
955589cdf3S猫头猫    | 'cog-8-tooth'
965589cdf3S猫头猫    | 'document-outline'
975589cdf3S猫头猫    | 'ellipsis-vertical'
985589cdf3S猫头猫    | 'exclamation-circle'
995589cdf3S猫头猫    | 'fire-outline'
1005589cdf3S猫头猫    | 'fire'
1015589cdf3S猫头猫    | 'folder-music-outline'
1025589cdf3S猫头猫    | 'folder-outline'
1035589cdf3S猫头猫    | 'folder-plus'
1045589cdf3S猫头猫    | 'font-size'
105da2a2959S猫头猫    | 'hand-thumb-up'
1065589cdf3S猫头猫    | 'heart-outline'
1075589cdf3S猫头猫    | 'heart'
1085589cdf3S猫头猫    | 'home-outline'
1095589cdf3S猫头猫    | 'identification'
1105589cdf3S猫头猫    | 'inbox-arrow-down'
1115589cdf3S猫头猫    | 'information-circle'
1125589cdf3S猫头猫    | 'javascript'
1135589cdf3S猫头猫    | 'link-slash'
1145589cdf3S猫头猫    | 'link'
1155589cdf3S猫头猫    | 'lyric'
1165589cdf3S猫头猫    | 'magnifying-glass'
1175589cdf3S猫头猫    | 'minus'
1185589cdf3S猫头猫    | 'motion-play'
1195589cdf3S猫头猫    | 'musical-note'
1205589cdf3S猫头猫    | 'pause-circle-outline'
1215589cdf3S猫头猫    | 'pause'
1225589cdf3S猫头猫    | 'pencil-outline'
1235589cdf3S猫头猫    | 'pencil-square'
1245589cdf3S猫头猫    | 'play-circle-outline'
1255589cdf3S猫头猫    | 'play-circle'
1265589cdf3S猫头猫    | 'play'
1275589cdf3S猫头猫    | 'playlist'
1285589cdf3S猫头猫    | 'plus'
1295589cdf3S猫头猫    | 'power-outline'
1305589cdf3S猫头猫    | 'repeat-song-1'
1315589cdf3S猫头猫    | 'repeat-song'
1325589cdf3S猫头猫    | 'share'
1335589cdf3S猫头猫    | 'shield-keyhole-outline'
1345589cdf3S猫头猫    | 'shuffle'
1355589cdf3S猫头猫    | 'skip-left'
1365589cdf3S猫头猫    | 'skip-right'
1375589cdf3S猫头猫    | 'sort-outline'
1385589cdf3S猫头猫    | 't-shirt-outline'
1395589cdf3S猫头猫    | 'translation'
1405589cdf3S猫头猫    | 'trash-outline'
1415589cdf3S猫头猫    | 'trophy'
1425589cdf3S猫头猫    | 'user'
1435589cdf3S猫头猫    | 'x-mark';
1445589cdf3S猫头猫
1455589cdf3S猫头猫interface IProps extends SvgProps {
1465589cdf3S猫头猫    /** 图标名称 */
1475589cdf3S猫头猫    name: IIconName;
1485589cdf3S猫头猫    /** 图标大小 */
1495589cdf3S猫头猫    size?: number;
1505589cdf3S猫头猫}
1515589cdf3S猫头猫
1525589cdf3S猫头猫const iconMap = {
1535589cdf3S猫头猫    'alarm-outline': AlarmOutlineIcon,
1545589cdf3S猫头猫    'album-outline': AlbumOutlineIcon,
1555589cdf3S猫头猫    'archive-box-x-mark': ArchiveBoxXMarkIcon,
1565589cdf3S猫头猫    'arrow-down-tray': ArrowDownTrayIcon,
1575589cdf3S猫头猫    'arrow-left': ArrowLeftIcon,
1585589cdf3S猫头猫    'arrow-long-left': ArrowLongLeftIcon,
1595589cdf3S猫头猫    'arrow-path': ArrowPathIcon,
1605589cdf3S猫头猫    'arrow-right-end-on-rectangle': ArrowRightEndOnRectangleIcon,
161*26f32636S猫头猫    'arrow-up-tray': ArrowUpTrayIcon,
1625589cdf3S猫头猫    'arrow-uturn-left': ArrowUturnLeftIcon,
1635589cdf3S猫头猫    'arrows-left-right': ArrowsLeftRightIcon,
1645589cdf3S猫头猫    'bars-3': Bars3Icon,
1655589cdf3S猫头猫    'bookmark-square': BookmarkSquareIcon,
166da2a2959S猫头猫    'chat-bubble-oval-left-ellipsis': ChatBubbleOvalLeftEllipsisIcon,
1675589cdf3S猫头猫    'check-circle-outline': CheckCircleOutlineIcon,
1685589cdf3S猫头猫    'check-circle': CheckCircleIcon,
1695589cdf3S猫头猫    check: CheckIcon,
1705589cdf3S猫头猫    'circle-stack': CircleStackIcon,
1715589cdf3S猫头猫    'clock-outline': ClockOutlineIcon,
1725589cdf3S猫头猫    'code-bracket-square': CodeBracketSquareIcon,
1735589cdf3S猫头猫    'cog-8-tooth': Cog8ToothIcon,
1745589cdf3S猫头猫    'document-outline': DocumentOutlineIcon,
1755589cdf3S猫头猫    'ellipsis-vertical': EllipsisVerticalIcon,
1765589cdf3S猫头猫    'exclamation-circle': ExclamationCircleIcon,
1775589cdf3S猫头猫    'fire-outline': FireOutlineIcon,
1785589cdf3S猫头猫    fire: FireIcon,
1795589cdf3S猫头猫    'folder-music-outline': FolderMusicOutlineIcon,
1805589cdf3S猫头猫    'folder-outline': FolderOutlineIcon,
1815589cdf3S猫头猫    'folder-plus': FolderPlusIcon,
1825589cdf3S猫头猫    'font-size': FontSizeIcon,
183da2a2959S猫头猫    'hand-thumb-up': HandThumbUpIcon,
1845589cdf3S猫头猫    'heart-outline': HeartOutlineIcon,
1855589cdf3S猫头猫    heart: HeartIcon,
1865589cdf3S猫头猫    'home-outline': HomeOutlineIcon,
1875589cdf3S猫头猫    identification: IdentificationIcon,
1885589cdf3S猫头猫    'inbox-arrow-down': InboxArrowDownIcon,
1895589cdf3S猫头猫    'information-circle': InformationCircleIcon,
1905589cdf3S猫头猫    javascript: JavascriptIcon,
1915589cdf3S猫头猫    'link-slash': LinkSlashIcon,
1925589cdf3S猫头猫    link: LinkIcon,
1935589cdf3S猫头猫    lyric: LyricIcon,
1945589cdf3S猫头猫    'magnifying-glass': MagnifyingGlassIcon,
1955589cdf3S猫头猫    minus: MinusIcon,
1965589cdf3S猫头猫    'motion-play': MotionPlayIcon,
1975589cdf3S猫头猫    'musical-note': MusicalNoteIcon,
1985589cdf3S猫头猫    'pause-circle-outline': PauseCircleOutlineIcon,
1995589cdf3S猫头猫    pause: PauseIcon,
2005589cdf3S猫头猫    'pencil-outline': PencilOutlineIcon,
2015589cdf3S猫头猫    'pencil-square': PencilSquareIcon,
2025589cdf3S猫头猫    'play-circle-outline': PlayCircleOutlineIcon,
2035589cdf3S猫头猫    'play-circle': PlayCircleIcon,
2045589cdf3S猫头猫    play: PlayIcon,
2055589cdf3S猫头猫    playlist: PlaylistIcon,
2065589cdf3S猫头猫    plus: PlusIcon,
2075589cdf3S猫头猫    'power-outline': PowerOutlineIcon,
2085589cdf3S猫头猫    'repeat-song-1': RepeatSong1Icon,
2095589cdf3S猫头猫    'repeat-song': RepeatSongIcon,
2105589cdf3S猫头猫    share: ShareIcon,
2115589cdf3S猫头猫    'shield-keyhole-outline': ShieldKeyholeOutlineIcon,
2125589cdf3S猫头猫    shuffle: ShuffleIcon,
2135589cdf3S猫头猫    'skip-left': SkipLeftIcon,
2145589cdf3S猫头猫    'skip-right': SkipRightIcon,
2155589cdf3S猫头猫    'sort-outline': SortOutlineIcon,
2165589cdf3S猫头猫    't-shirt-outline': TShirtOutlineIcon,
2175589cdf3S猫头猫    translation: TranslationIcon,
2185589cdf3S猫头猫    'trash-outline': TrashOutlineIcon,
2195589cdf3S猫头猫    trophy: TrophyIcon,
2205589cdf3S猫头猫    user: UserIcon,
2215589cdf3S猫头猫    'x-mark': XMarkIcon,
2225589cdf3S猫头猫} as const;
2235589cdf3S猫头猫
2245589cdf3S猫头猫export default function Icon(props: IProps) {
2255589cdf3S猫头猫    const {name, size} = props;
2265589cdf3S猫头猫
2275589cdf3S猫头猫    const newProps = {
2285589cdf3S猫头猫        ...props,
2295589cdf3S猫头猫        width: props.width ?? size,
2305589cdf3S猫头猫        height: props.width ?? size,
2315589cdf3S猫头猫    } as SvgProps;
2325589cdf3S猫头猫
2335589cdf3S猫头猫    const Component = iconMap[name];
2345589cdf3S猫头猫
2355589cdf3S猫头猫    return <Component {...newProps} />;
2365589cdf3S猫头猫}
237