ConceptPortal-public/rsconcept/frontend/src/components/Icons.tsx

177 lines
9.1 KiB
TypeScript
Raw Normal View History

2023-07-15 17:46:19 +03:00
// Search new icons at https://reactsvgicons.com/
2024-05-27 20:42:34 +03:00
// Note: save this file using Ctrl + K, Ctrl + Shift + S to disable autoformat
2023-07-15 17:46:19 +03:00
2024-05-02 17:04:18 +03:00
// ==== General actions =======
2024-05-27 20:42:34 +03:00
export { BiMenu as IconMenu } from 'react-icons/bi';
export { LuLogOut as IconLogout } from 'react-icons/lu';
export { FiSave as IconSave } from 'react-icons/fi';
export { BiCheck as IconAccept } from 'react-icons/bi';
export { BiX as IconRemove } from 'react-icons/bi';
export { BiTrash as IconDestroy } from 'react-icons/bi';
export { BiReset as IconReset } from 'react-icons/bi';
export { LiaEdit as IconEdit } from 'react-icons/lia';
export { FiEdit as IconEdit2 } from 'react-icons/fi';
export { BiSearchAlt2 as IconSearch } from 'react-icons/bi';
export { BiDownload as IconDownload } from 'react-icons/bi';
export { BiUpload as IconUpload } from 'react-icons/bi';
export { BiCog as IconSettings } from 'react-icons/bi';
export { TbEye as IconShow } from 'react-icons/tb';
export { TbEyeX as IconHide } from 'react-icons/tb';
2024-05-27 20:42:34 +03:00
export { BiShareAlt as IconShare } from 'react-icons/bi';
export { BiFilterAlt as IconFilter } from 'react-icons/bi';
export {BiDownArrowCircle as IconOpenList } from 'react-icons/bi';
export { LuAlertTriangle as IconAlert } from 'react-icons/lu';
2024-05-02 17:04:18 +03:00
// ===== UI elements =======
2024-05-27 20:42:34 +03:00
export { BiX as IconClose } from 'react-icons/bi';
export { LuChevronDown as IconDropArrow } from 'react-icons/lu';
export { LuChevronUp as IconDropArrowUp } from 'react-icons/lu';
export { RiMenuFoldFill as IconMenuFold } from 'react-icons/ri';
export { RiMenuUnfoldFill as IconMenuUnfold } from 'react-icons/ri';
export { LuMoon as IconDarkTheme } from 'react-icons/lu';
export { LuSun as IconLightTheme } from 'react-icons/lu';
export { FaRegFolder as IconFolder } from 'react-icons/fa';
2024-05-27 20:42:34 +03:00
export { LuLightbulb as IconHelp } from 'react-icons/lu';
export { LuLightbulbOff as IconHelpOff } from 'react-icons/lu';
export { RiPushpinFill as IconPin } from 'react-icons/ri';
export { RiUnpinLine as IconUnpin } from 'react-icons/ri';
export { BiCaretDown as IconSortDesc } from 'react-icons/bi';
export { BiCaretUp as IconSortAsc } from 'react-icons/bi';
export { BiChevronLeft as IconPageLeft } from 'react-icons/bi';
export { BiChevronRight as IconPageRight } from 'react-icons/bi';
export { BiFirstPage as IconPageFirst } from 'react-icons/bi';
export { BiLastPage as IconPageLast } from 'react-icons/bi';
2024-05-02 17:04:18 +03:00
// ==== User status =======
2024-05-27 20:42:34 +03:00
export { LuUserCircle2 as IconUser } from 'react-icons/lu';
export { FaCircleUser as IconUser2 } from 'react-icons/fa6';
export { TbUserEdit as IconEditor } from 'react-icons/tb';
2024-05-27 20:42:34 +03:00
export { LuCrown as IconOwner } from 'react-icons/lu';
export { TbMeteor as IconAdmin } from 'react-icons/tb';
export { TbMeteorOff as IconAdminOff } from 'react-icons/tb';
export { LuGlasses as IconReader } from 'react-icons/lu';
2024-04-07 19:22:19 +03:00
2024-05-02 17:04:18 +03:00
// ===== Domain entities =======
export { TbBriefcase as IconBusiness } from 'react-icons/tb';
2024-05-27 20:42:34 +03:00
export { VscLibrary as IconLibrary } from 'react-icons/vsc';
export { IoLibrary as IconLibrary2 } from 'react-icons/io5';
export { BiDiamond as IconTemplates } from 'react-icons/bi';
export { FaRegObjectGroup as IconOSS } from 'react-icons/fa';
export { RiHexagonLine as IconRSForm } from 'react-icons/ri';
2024-05-27 20:42:34 +03:00
export { LuArchive as IconArchive } from 'react-icons/lu';
export { LuDatabase as IconDatabase } from 'react-icons/lu';
export { LuImage as IconImage } from 'react-icons/lu';
export { TbColumns as IconList } from 'react-icons/tb';
export { ImStack as IconVersions } from 'react-icons/im';
2024-05-27 20:42:34 +03:00
export { TbColumnsOff as IconListOff } from 'react-icons/tb';
export { LuAtSign as IconTerm } from 'react-icons/lu';
export { LuSubscript as IconAlias } from 'react-icons/lu';
export { TbMathFunction as IconFormula } from 'react-icons/tb';
export { BiFontFamily as IconText } from 'react-icons/bi';
export { BiFont as IconTextOff } from 'react-icons/bi';
export { RiTreeLine as IconTree } from 'react-icons/ri';
export { FaRegKeyboard as IconControls } from 'react-icons/fa6';
export { RiLockLine as IconImmutable } from 'react-icons/ri';
export { RiLockUnlockLine as IconMutable } from 'react-icons/ri';
2024-05-27 20:42:34 +03:00
export { RiOpenSourceLine as IconPublic } from 'react-icons/ri';
export { RiShieldLine as IconProtected } from 'react-icons/ri';
export { RiShieldKeyholeLine as IconPrivate } from 'react-icons/ri';
2024-05-27 20:42:34 +03:00
export { BiBug as IconStatusError } from 'react-icons/bi';
export { BiCheckCircle as IconStatusOK } from 'react-icons/bi';
export { BiHelpCircle as IconStatusUnknown } from 'react-icons/bi';
export { BiPauseCircle as IconStatusIncalculable } from 'react-icons/bi';
export { LuPower as IconKeepAliasOn } from 'react-icons/lu';
export { LuPowerOff as IconKeepAliasOff } from 'react-icons/lu';
export { LuFlag as IconKeepTermOn } from 'react-icons/lu';
export { LuFlagOff as IconKeepTermOff } from 'react-icons/lu';
2024-05-02 17:04:18 +03:00
// ===== Domain actions =====
2024-05-27 20:42:34 +03:00
export { BiUpvote as IconMoveUp } from 'react-icons/bi';
export { BiDownvote as IconMoveDown } from 'react-icons/bi';
export { BiRightArrow as IconMoveRight } from 'react-icons/bi';
export { BiLeftArrow as IconMoveLeft } from 'react-icons/bi';
export { FiBell as IconFollow } from 'react-icons/fi';
export { FiBellOff as IconFollowOff } from 'react-icons/fi';
export { BiPlusCircle as IconNewItem } from 'react-icons/bi';
export { FaSquarePlus as IconNewItem2 } from 'react-icons/fa6';
export { BiDuplicate as IconClone } from 'react-icons/bi';
export { LuReplace as IconReplace } from 'react-icons/lu';
export { FaSortAmountDownAlt as IconSortList } from 'react-icons/fa';
export { LuNetwork as IconGenerateStructure } from 'react-icons/lu';
export { LuBookCopy as IconInlineSynthesis } from 'react-icons/lu';
export { LuWand2 as IconGenerateNames } from 'react-icons/lu';
2024-05-02 17:04:18 +03:00
// ======== Graph UI =======
2024-05-27 20:42:34 +03:00
export { BiCollapse as IconGraphCollapse } from 'react-icons/bi';
export { BiExpand as IconGraphExpand } from 'react-icons/bi';
export { LuMaximize as IconGraphMaximize } from 'react-icons/lu';
export { BiGitBranch as IconGraphInputs } from 'react-icons/bi';
export { BiGitMerge as IconGraphOutputs } from 'react-icons/bi';
export { LuAtom as IconGraphCore } from 'react-icons/lu';
export { LuRotate3D as IconRotate3D } from 'react-icons/lu';
export { MdOutlineFitScreen as IconFitImage } from 'react-icons/md';
export { LuSparkles as IconClustering } from 'react-icons/lu';
export { LuSparkle as IconClusteringOff } from 'react-icons/lu';
2024-05-02 17:04:18 +03:00
// ===== Custom elements ======
2023-07-15 17:46:19 +03:00
interface IconSVGProps {
2023-12-28 14:04:44 +03:00
viewBox: string;
size?: string;
className?: string;
props?: React.SVGProps<SVGSVGElement>;
children: React.ReactNode;
2023-07-15 17:46:19 +03:00
}
2023-07-20 17:11:03 +03:00
export interface IconProps {
2023-12-28 14:04:44 +03:00
size?: string;
className?: string;
2023-07-20 17:11:03 +03:00
}
2023-12-27 19:34:39 +03:00
function IconSVG({ viewBox, size = '1.5rem', className, props, children }: IconSVGProps) {
2023-07-15 17:46:19 +03:00
return (
2023-12-28 14:04:44 +03:00
<svg
width={size}
height={size}
className={`w-[${size}] h-[${size}] ${className}`}
fill='currentColor'
viewBox={viewBox}
{...props}
>
{children}
</svg>
);
2023-07-15 17:46:19 +03:00
}
export function IconManuals(props: IconProps) {
2023-07-15 17:46:19 +03:00
return (
2023-12-27 19:34:39 +03:00
<IconSVG viewBox='0 0 20 20' {...props}>
2023-07-15 17:46:19 +03:00
<path d='M3.33 8L10 12l10-6-10-6L0 6h10v2H3.33zM0 8v8l2-2.22V9.2L0 8zm10 12l-5-3-2-1.2v-6l7 4.2 7-4.2v6L10 20z' />
</IconSVG>
);
}
export function IconLogin(props: IconProps) {
return (
2023-12-27 19:34:39 +03:00
<IconSVG viewBox='0 0 24 24' {...props}>
<path fill='none' d='M0 0h24v24H0z' />
<path d='M10 11H4V3a1 1 0 011-1h14a1 1 0 011 1v18a1 1 0 01-1 1H5a1 1 0 01-1-1v-8h6v3l5-4-5-4v3z' />
</IconSVG>
);
}
2023-09-07 16:30:43 +03:00
export function CheckboxChecked() {
2023-09-07 16:30:43 +03:00
return (
2023-12-28 14:04:44 +03:00
<svg className='w-3 h-3' viewBox='0 0 512 512' fill='#ffffff'>
2023-09-07 16:30:43 +03:00
<path d='M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7l233.4-233.3c12.5-12.5 32.8-12.5 45.3 0z' />
</svg>
);
}
export function CheckboxNull() {
2023-09-07 16:30:43 +03:00
return (
2023-12-28 14:04:44 +03:00
<svg className='w-3 h-3' viewBox='0 0 16 16' fill='#ffffff'>
2023-09-07 16:30:43 +03:00
<path d='M2 7.75A.75.75 0 012.75 7h10a.75.75 0 010 1.5h-10A.75.75 0 012 7.75z' />
</svg>
);
2023-12-28 14:04:44 +03:00
}