add 'New' button with 3 options and clean code
[arvados-workbench2.git] / src / components / icon / icon.tsx
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import * as React from 'react';
6 import AccessTime from '@material-ui/icons/AccessTime';
7 import Add from '@material-ui/icons/Add';
8 import ArrowBack from '@material-ui/icons/ArrowBack';
9 import ArrowDropDown from '@material-ui/icons/ArrowDropDown';
10 import BubbleChart from '@material-ui/icons/BubbleChart';
11 import Cached from '@material-ui/icons/Cached';
12 import CloudUpload from '@material-ui/icons/CloudUpload';
13 import Code from '@material-ui/icons/Code';
14 import ChevronLeft from '@material-ui/icons/ChevronLeft';
15 import ImportContacts from '@material-ui/icons/ImportContacts';
16 import ChevronRight from '@material-ui/icons/ChevronRight';
17 import Close from '@material-ui/icons/Close';
18 import ContentCopy from '@material-ui/icons/FileCopyOutlined';
19 import CreateNewFolder from '@material-ui/icons/CreateNewFolder';
20 import Delete from '@material-ui/icons/Delete';
21 import DeviceHub from '@material-ui/icons/DeviceHub';
22 import Edit from '@material-ui/icons/Edit';
23 import Folder from '@material-ui/icons/Folder';
24 import GetApp from '@material-ui/icons/GetApp';
25 import Help from '@material-ui/icons/Help';
26 import Inbox from '@material-ui/icons/Inbox';
27 import Info from '@material-ui/icons/Info';
28 import Input from '@material-ui/icons/Input';
29 import InsertDriveFile from '@material-ui/icons/InsertDriveFile';
30 import LastPage from '@material-ui/icons/LastPage';
31 import LibraryBooks from '@material-ui/icons/LibraryBooks';
32 import Menu from '@material-ui/icons/Menu';
33 import MoreVert from '@material-ui/icons/MoreVert';
34 import Mail from '@material-ui/icons/Mail';
35 import MoveToInbox from '@material-ui/icons/MoveToInbox';
36 import Notifications from '@material-ui/icons/Notifications';
37 import People from '@material-ui/icons/People';
38 import Person from '@material-ui/icons/Person';
39 import PersonAdd from '@material-ui/icons/PersonAdd';
40 import PlayArrow from '@material-ui/icons/PlayArrow';
41 import RateReview from '@material-ui/icons/RateReview';
42 import RestoreFromTrash from '@material-ui/icons/History';
43 import Search from '@material-ui/icons/Search';
44 import SettingsApplications from '@material-ui/icons/SettingsApplications';
45 import SettingsEthernet from '@material-ui/icons/SettingsEthernet';
46 import Star from '@material-ui/icons/Star';
47 import StarBorder from '@material-ui/icons/StarBorder';
48 import HelpOutline from '@material-ui/icons/HelpOutline';
49
50 export type IconType = React.SFC<{ className?: string }>;
51
52 export const AddIcon: IconType = (props) => <Add {...props} />;
53 export const AddFavoriteIcon: IconType = (props) => <StarBorder {...props} />;
54 export const AdvancedIcon: IconType = (props) => <SettingsApplications {...props} />;
55 export const BackIcon: IconType = (props) => <ArrowBack {...props} />;
56 export const CustomizeTableIcon: IconType = (props) => <Menu {...props} />;
57 export const CommandIcon: IconType = (props) => <LastPage {...props} />;
58 export const CopyIcon: IconType = (props) => <ContentCopy {...props} />;
59 export const CollectionIcon: IconType = (props) => <LibraryBooks {...props} />;
60 export const CloseIcon: IconType = (props) => <Close {...props} />;
61 export const CloudUploadIcon: IconType = (props) => <CloudUpload {...props} />;
62 export const DefaultIcon: IconType = (props) => <RateReview {...props} />;
63 export const DetailsIcon: IconType = (props) => <Info {...props} />;
64 export const DownloadIcon: IconType = (props) => <GetApp {...props} />;
65 export const FavoriteIcon: IconType = (props) => <Star {...props} />;
66 export const HelpIcon: IconType = (props) => <Help {...props} />;
67 export const InputIcon: IconType = (props) => <InsertDriveFile {...props} />;
68 export const LogIcon: IconType = (props) => <SettingsEthernet {...props} />;
69 export const MoreOptionsIcon: IconType = (props) => <MoreVert {...props} />;
70 export const MoveToIcon: IconType = (props) => <Input {...props} />;
71 export const NewProjectIcon: IconType = (props) => <CreateNewFolder {...props} />;
72 export const NotificationIcon: IconType = (props) => <Notifications {...props} />;
73 export const OutputIcon: IconType = (props) => <MoveToInbox {...props} />;
74 export const PaginationDownIcon: IconType = (props) => <ArrowDropDown {...props} />;
75 export const PaginationLeftArrowIcon: IconType = (props) => <ChevronLeft {...props} />;
76 export const PaginationRightArrowIcon: IconType = (props) => <ChevronRight {...props} />;
77 export const ProcessIcon: IconType = (props) => <BubbleChart {...props} />;
78 export const ProjectIcon: IconType = (props) => <Folder {...props} />;
79 export const ProjectsIcon: IconType = (props) => <Inbox {...props} />;
80 export const ProvenanceGraphIcon: IconType = (props) => <DeviceHub {...props} />;
81 export const RecentIcon: IconType = (props) => <AccessTime {...props} />;
82 export const RemoveIcon: IconType = (props) => <Delete {...props} />;
83 export const RemoveFavoriteIcon: IconType = (props) => <Star {...props} />;
84 export const RenameIcon: IconType = (props) => <Edit {...props} />;
85 export const RestoreFromTrashIcon: IconType = (props) => <RestoreFromTrash {...props} />;
86 export const ReRunProcessIcon: IconType = (props) => <Cached {...props} />;
87 export const SearchIcon: IconType = (props) => <Search {...props} />;
88 export const ShareIcon: IconType = (props) => <PersonAdd {...props} />;
89 export const ShareMeIcon: IconType = (props) => <People {...props} />;
90 export const SidePanelRightArrowIcon: IconType = (props) => <PlayArrow {...props} />;
91 export const TrashIcon: IconType = (props) => <Delete {...props} />;
92 export const UserPanelIcon: IconType = (props) => <Person {...props} />;
93 export const UsedByIcon: IconType = (props) => <Folder {...props} />;
94 export const WorkflowIcon: IconType = (props) => <Code {...props} />;
95 export const ImportContactsIcon: IconType = (props) => <ImportContacts {...props} />;
96 export const HelpOutlineIcon: IconType = (props) => <HelpOutline {...props} />;
97 export const MailIcon: IconType = (props) => <Mail {...props} />;