File size: 2,947 Bytes
6fdc858
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
'use client';

import type { ReactNode } from 'react';

type IconProps = { className?: string };

function SvgBase({ className, children }: IconProps & { children: ReactNode }) {
  return (
    <svg
      viewBox="0 0 24 24"
      fill="none"
      stroke="currentColor"
      strokeWidth={1.7}
      strokeLinecap="round"
      strokeLinejoin="round"
      className={className}
      aria-hidden="true"
    >
      {children}
    </svg>
  );
}

export function AlignmentBarIcon({ className }: IconProps) {
  return (
    <SvgBase className={className}>
      <rect x="10" y="6" width="4" height="12" rx="1" fill="currentColor" opacity={0.16} stroke="none" />
      <path d="M4 8h16M4 12h16M4 16h16" />
      <circle cx="12" cy="8" r="1" fill="currentColor" stroke="none" />
      <circle cx="12" cy="12" r="1" fill="currentColor" stroke="none" />
      <circle cx="12" cy="16" r="1" fill="currentColor" stroke="none" />
    </SvgBase>
  );
}

export function HelixRibbonIcon({ className }: IconProps) {
  return (
    <SvgBase className={className}>
      <path d="M12 3c-4 2.5-4 5 0 7.5s4 5 0 7.5" />
      <path d="M12 3c4 2.5 4 5 0 7.5s-4 5 0 7.5" />
    </SvgBase>
  );
}

export function DockingPocketIcon({ className }: IconProps) {
  return (
    <SvgBase className={className}>
      <path d="M4 9c0 6 8 6 8 6s8 0 8-6" />
      <circle cx="12" cy="6.5" r="2.6" />
    </SvgBase>
  );
}

export function PhyloTIcon({ className }: IconProps) {
  return (
    <SvgBase className={className}>
      <path d="M12 3v5M12 8H8M12 8h8" />
      <path d="M8 8v6H5M8 8v6h3M20 8v6h-3M20 8v6h3" />
      <circle cx="12" cy="8" r="1.1" fill="currentColor" stroke="none" />
    </SvgBase>
  );
}

export function EnrichmentClusterIcon({ className }: IconProps) {
  return (
    <SvgBase className={className}>
      <circle cx="8.5" cy="8.5" r="1.9" />
      <circle cx="15.5" cy="8.5" r="1.9" />
      <circle cx="8.5" cy="15.5" r="1.9" />
      <circle cx="15.5" cy="15.5" r="1.9" />
      <circle cx="12" cy="12" r="4.6" strokeDasharray="2 2" opacity={0.5} />
      <circle cx="12" cy="12" r="2.1" fill="currentColor" stroke="none" />
    </SvgBase>
  );
}

export function ReadPileupIcon({ className }: IconProps) {
  return (
    <SvgBase className={className}>
      <path d="M4 6h16M4 10h16M4 14h16M4 18h16" />
      <circle cx="9" cy="6" r="1.2" fill="currentColor" stroke="none" />
      <circle cx="15" cy="10" r="1.2" fill="currentColor" stroke="none" />
      <circle cx="7" cy="14" r="1.2" fill="currentColor" stroke="none" />
    </SvgBase>
  );
}

export function PPIWebIcon({ className }: IconProps) {
  return (
    <SvgBase className={className}>
      <path d="M6 6h5M11 6l3 6M6 6l3 6M11 18l-3-6M11 18l3-6" />
      <circle cx="6" cy="6" r="1.9" />
      <circle cx="11" cy="6" r="1.9" />
      <circle cx="8" cy="12" r="1.9" />
      <circle cx="14" cy="12" r="1.9" />
      <circle cx="11" cy="18" r="1.9" />
    </SvgBase>
  );
}