Files
CShare/cshare-app/src/components/Icons.jsx
T
arsam e8dca5e8f3 Import source: cshare-app/src/components/Icons
Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality.
2026-09-18 23:14:09 +03:30

133 lines
3.3 KiB
React

const Svg = ({ children, size = 20, ...props }) => (
<svg
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
{...props}
>
{children}
</svg>
);
export const UploadIcon = (props) => (
<Svg {...props}>
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
<polyline points="17 8 12 3 7 8" />
<line x1="12" y1="3" x2="12" y2="15" />
</Svg>
);
export const LinkIcon = (props) => (
<Svg {...props}>
<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" />
<path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" />
</Svg>
);
export const CopyIcon = (props) => (
<Svg {...props}>
<rect x="9" y="9" width="13" height="13" rx="2" ry="2" />
<path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" />
</Svg>
);
export const TrashIcon = (props) => (
<Svg {...props}>
<polyline points="3 6 5 6 21 6" />
<path d="M16.5 6V4.5a2 2 0 0 0-2-2h-5a2 2 0 0 0-2 2V6" />
<path d="M19 6l-.86 11.14A2 2 0 0 1 16.14 19H7.86a2 2 0 0 1-2-1.86L5 6" />
<line x1="10" y1="11" x2="10" y2="17" />
<line x1="14" y1="11" x2="14" y2="17" />
</Svg>
);
export const DownloadIcon = (props) => (
<Svg {...props}>
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
<polyline points="7 10 12 15 17 10" />
<line x1="12" y1="15" x2="12" y2="3" />
</Svg>
);
export const EyeIcon = (props) => (
<Svg {...props}>
<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" />
<circle cx="12" cy="12" r="3" />
</Svg>
);
export const ArrowDownIcon = (props) => (
<Svg {...props}>
<line x1="12" y1="5" x2="12" y2="19" />
<polyline points="19 12 12 19 5 12" />
</Svg>
);
export const FileIcon = (props) => (
<Svg {...props}>
<path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z" />
<polyline points="13 2 13 9 20 9" />
</Svg>
);
export const CheckIcon = (props) => (
<Svg {...props}>
<polyline points="20 6 9 17 4 12" />
</Svg>
);
export const XIcon = (props) => (
<Svg {...props}>
<line x1="18" y1="6" x2="6" y2="18" />
<line x1="6" y1="6" x2="18" y2="18" />
</Svg>
);
export const ChartIcon = (props) => (
<Svg {...props}>
<line x1="18" y1="20" x2="18" y2="10" />
<line x1="12" y1="20" x2="12" y2="4" />
<line x1="6" y1="20" x2="6" y2="14" />
</Svg>
);
export const ClockIcon = (props) => (
<Svg {...props}>
<circle cx="12" cy="12" r="10" />
<polyline points="12 6 12 12 16 14" />
</Svg>
);
export const ShieldIcon = (props) => (
<Svg {...props}>
<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" />
</Svg>
);
export const ZapIcon = (props) => (
<Svg {...props}>
<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2" />
</Svg>
);
export const GlobeIcon = (props) => (
<Svg {...props}>
<circle cx="12" cy="12" r="10" />
<line x1="2" y1="12" x2="22" y2="12" />
<path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" />
</Svg>
);
export const MenuIcon = (props) => (
<Svg {...props}>
<line x1="3" y1="6" x2="21" y2="6" />
<line x1="3" y1="12" x2="21" y2="12" />
<line x1="3" y1="18" x2="21" y2="18" />
</Svg>
);