SurfSense/apps/web/components/icons.tsx
2024-07-30 16:00:11 -07:00

118 lines
3.8 KiB
TypeScript

// https://lucide.dev/icons/
// Country icons: https://www.svgrepo.com/collection/countrys-flags/
// LinkedIn/Facebook/Twitter: https://icons8.com/icons/
import {
Activity,
ArrowRight,
BadgePercent,
BarChart,
Bell,
Building2,
ChevronDown,
ChevronsUpDown,
ClipboardList,
Copy,
File,
Gauge,
Globe,
Home,
LayoutTemplate,
Link,
LucideProps,
Menu,
Moon,
PanelLeftClose,
PanelLeftOpen,
Plus,
PoundSterling,
Settings,
SlidersHorizontal,
SunMedium,
User2,
Users,
Workflow,
X,
} from "lucide-react";
export const Icons = {
activity: Activity,
analytics: BarChart,
arrowRight: ArrowRight,
badgePercent: BadgePercent,
building: Building2,
chevronDown: ChevronDown,
chevronUpDown: ChevronsUpDown,
collaboration: Users,
copy: Copy,
file: File,
globe: Globe,
home: Home,
link: Link,
menu: Menu,
menuClose: X,
moon: Moon,
notification: Bell,
panelLeftClose: PanelLeftClose,
panelLeftOpen: PanelLeftOpen,
performance: Gauge,
plus: Plus,
poundSterling: PoundSterling,
rules: ClipboardList,
settings: Settings,
slider: SlidersHorizontal,
sun: SunMedium,
template: LayoutTemplate,
user2: User2,
workflow: Workflow,
github: (props: LucideProps) => (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 98 96" {...props}>
<path d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" />
</svg>
),
linkedin: (props: LucideProps) => (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" {...props}>
<path d="M41,4H9C6.24,4,4,6.24,4,9v32c0,2.76,2.24,5,5,5h32c2.76,0,5-2.24,5-5V9C46,6.24,43.76,4,41,4z M17,20v19h-6V20H17z M11,14.47c0-1.4,1.2-2.47,3-2.47s2.93,1.07,3,2.47c0,1.4-1.12,2.53-3,2.53C12.2,17,11,15.87,11,14.47z M39,39h-6c0,0,0-9.26,0-10 c0-2-1-4-3.5-4.04h-0.08C27,24.96,26,27.02,26,29c0,0.91,0,10,0,10h-6V20h6v2.56c0,0,1.93-2.56,5.81-2.56 c3.97,0,7.19,2.73,7.19,8.26V39z" />
</svg>
),
doubleChevron: (props: LucideProps) => (
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
{...props}
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
className="text-foreground lucide lucide-chevrons-up-down"
>
<path d="m7 15 5 5 5-5" />
<path d="m7 9 5-5 5 5" />
</svg>
),
logo: (props: LucideProps) => (
<svg
id="Layer_1"
data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 100 100"
{...props}
>
<defs>
<style>
{`.cls-1{fill:hsl(var(--foreground));}.cls-2{fill:none}.cls-3{stroke:hsl(var(--background));}.cls-4{stroke-width:8px;}.cls-5{stroke-linecap:round;}.cls-6{stroke-linejoin:round;}`}
</style>
</defs>
<circle className="cls-1" cx="50" cy="50" r="49.9" />
<path
className="cls-2 cls-3 cls-4 cls-5 cls-6"
d="M61.77,69.61,81.38,50,61.77,30.39"
/>
<path
className="cls-2 cls-3 cls-4 cls-5 cls-6"
d="M38.23,69.61,18.62,50,38.23,30.39"
/>
</svg>
),
};